#include <stdint.h>

#ifndef _BEAMSPLITTER_H_
#define _BEAMSPLITTER_H_

// gotten from random.org
// as hex bytes that I formatted into 64-bit values

const uint64_t T[1024] = {
  0x6fa74b1b15047628,0xa2b5ee64e9e8f629,0xd0937853bdd0edca,0x4e9fb2b2b0a637a6,0x26ac5a8fac69497e,
  0x51e127f0db14aa48,0xea5b9f512d8d6a09,0xf3af1406a87de6a9,0x3b36e2ed14818955,0xb0ac19ef2dde986c,
  0xd34ed04929f8f66d,0xe99978cff2b324ea,0x4032cb3ecff8cb38,0xfa52274072d86042,0x27437346dec26105,
  0xec1cbf04b76aec71,0x6dd57b3dac56cd39,0x34e9021797e95aad,0xdc8d3363540c5999,0x773d283eeeabf4ab,
  0x373c522657461aaf,0x154cfe0f497d7f78,0x6d377183b5ca6550,0x614da5f6055e904b,0xd77b66b34896f00e,
  0x122538125d6adaef,0x1021e161206d9091,0x38407c4313aefdfa,0xd941cc5dafc66162,0xfc2432a6ea885315,
  0x5576dc02b68b10ed,0xd8449f9d4ab139a2,0xd333cbcd49cbacba,0x700d20430e06eeb8,0xdeb34810d6d0320a,
  0x6743363d6cc8ba68,0xbd183cb526e6e936,0xee62bf5ee97de5ea,0xf6b855e743e76853,0x83ac16a35d132df9,
  0x2046f2c70c2130b1,0xaadd5007102b5ee4,0x8eedac842e63cdac,0xba02956e43c18608,0xd2688af010adbeaf,
  0x4aaa5295377c17be,0x83792382ba198f10,0x6fc42849961a25b6,0x3501677f06fb1311,0x1e18b89705c224dd,
  0xa0a0b8684aa2e12d,0x30d19aac3d40898e,0x41dd335a29272e9b,0x5c5d445a07426e3f,0x6f13080e67946fdc,
  0x3ddabae21609bf08,0x8e6146d3cde11ca5,0x9eff76a4c39eacf4,0x71c66d0a423a21b7,0x68515c0b712bbc4f,
  0x5edd17cec412a735,0xa444f487c96f896c,0xc161d16d4e54041a,0x3a2d84d3e09bafb9,0x63a406b157a5f2f1,
  0x18292d6007f839ba,0xcaac5789618f2aac,0x6f516d95f749dd97,0xb5784409560e219f,0x12f0f0d6fbdcb81c,
  0x993d6c2a47089679,0xcc9247b35870aebf,0xa1ca8eff8b1bca70,0x7a1d015397e558cc,0xc504a4d4815f8722,
  0x3e44258e93472b26,0x11bd0578a36c8044,0x84c7087603a0a6ea,0x457d0c59e84c9ac8,0x32129275ee63dd95,
  0x66269220e943024d,0x197de12f9d6e5c72,0x06fdd09a4d6157dd,0xf8c1a8b51fe95716,0x41eeb6129149f6cf,
  0x42f510887a61de1b,0xf3d2aa6e4fe5949d,0xc0799007b85373aa,0x81577b167de515c3,0x01f424fc6b856270,
  0xff6247ed0658caa8,0x63ad005e620fe4bb,0xdb919b9f63c93174,0x5693dbd6c76c7683,0xdaa9b82e85e0355a,
  0x424c5c4e5672fc73,0x9de3ca332ba818f1,0xb28f375a58bc6c1e,0xef0af1e6041b9cd4,0x0418afb53ef5408f,
  0x9a37634585d3330a,0x3ab5aec014b097cd,0x384a0739a3ff7dc8,0x0ff31c11226e5d5a,0x71070735f1c16bb4,
  0xc4f78905f49a3840,0x561f68d6a5f44a81,0xb09bd8cd8d932357,0xf270b47652354fdb,0x47d6ca7bba50c2c7,
  0x2720590d7b2b7b54,0xcaac35df08cab300,0xd05759dee169d9fd,0xdb8d0d0403a6aafb,0xcd3ab85684ba537c,
  0xad69c4e5240c158f,0x65427c4ff3637db2,0x085ecbbf903a45ae,0xeafed57a94384c62,0xc99972367cd21eba,
  0xc1e2cf52270b20eb,0x825dad5142681653,0x47e99edc5e141d94,0x125813bc26e42e07,0x06f41d2441b172ca,
  0x5e9e640ed911730e,0x5900403342f0f362,0x57a600d157ee9945,0xbcc5d702f02dc7e0,0x8258cf5a1a6435ab,
  0xdf885b6a0343a3e0,0xadd74c04a503b09a,0x0ea210122eeef589,0x5217fd50f3ecaf85,0xd0c39849df6b4756,
  0xf66d9e1c91bd0981,0x0f355b00f40e3e6b,0xc01dabcd14518520,0x58691b4fa9e7d327,0x357616c77c22fffe,
  0xb9fbf8de2ed23303,0x0195932bc205c466,0xef0763590a08a50d,0xf546866c0028a938,0x41cc8732eaad496a,
  0xadc61f16374896c6,0x5eb8f93f25ad0457,0x240f00f5db3fae25,0xcc48503596dc01ef,0x351baaa904a306d5,
  0x7111179ae328bb19,0x6789a31719d5d453,0xf5318492c9613de6,0xa0e8c24f3f0da716,0xac15d68d54401b9d,
  0xadafb35cf63092ee,0xceb5f8d63c7fec4c,0x1ae71929b980fc9d,0x6efdc5693ef4ee2a,0xbedd8334cade7855,
  0x06f1b768b476a249,0x9e614bedf41dd639,0x9eca9c6c9e389a5d,0x76999bf01b912df2,0x04d52fb2ac70ab31,
  0xe467ea8172f5d066,0x356ed51bb0e094ae,0xab2047c21b54d8ba,0x21dbbfa0a6157474,0x7de36edec62f1997,
  0x306ef59f5204a58c,0x954135a769d5b72e,0x9d7774a0c2d29380,0xc03acfd63ac6b88c,0x9989d5ee565322e6,
  0x19d1a58324bdd145,0xe74685383cc6b27c,0xf9edffe1c4d81108,0x94950b5b6247cb43,0xe3fa8c6468d419eb,
  0x29981bd802f77ac5,0x6cf1a6cab28c1c36,0x1d34a382a5d48973,0xcd1d5d546e5e4d3d,0x4ad78b4a37e52322,
  0x24da17671ab463f2,0x527504b7c7bc5537,0x7ba1d92e1969b2b5,0x53a130812c49d64a,0x503af48d9510f1d7,
  0x719db8a348dee165,0xa85e4fad1f343e67,0xdafc1fa9203d2d45,0x7730f245c903a407,0xb7c04e53f913aeae,
  0x39ed817e1e039153,0xf415ea2b3efc7606,0x15e3c53fe43f104d,0x1b71e4d83ccba83c,0xfe088f4c90812841,
  0x1ff8e2ee0a04b6ae,0xf4f4a23612b9eed2,0xc596a66051b8aca1,0xbc898edd3370a8dd,0xce7638a7a2f9152e,
  0xd99192635c0d5c92,0x62038c87c094a1ff,0xa73f1bcaac7343af,0x93c797804faa5ff3,0x9da7407c705da1f0,
  0xa52cde7d37fef9f0,0xb93a7db97e3fa7ff,0x75ee91392c60fb6b,0x4d7f8e3db9383ae0,0xe0aec397d5290d06,
  0x159a20f22d740d81,0x231416cff9a9b014,0x71ed3a6e513b4795,0x190b08ebcb87f3bc,0x36bb0bcb0e8df593,
  0xc1e63cdc4d78dfb3,0x36e2c57ba6799460,0x280c0618b19f63dc,0xca2b8e49d6c71d2d,0xc881e59705270f09,
  0x26fdf0dbb5f2f451,0xc6d1a3697ca86855,0xd00755a203980eb5,0xa85962163dd7de95,0x622b7a1d2531d00e,
  0xb6c1cfba74436ef7,0x9578891a720bf317,0x5e325058bd3a343a,0x9a468a5a888a475f,0xa57f0edb414a0589,
  0xa044aef7ea680f8c,0x2036717cee9b991a,0x3925631ec66cb8aa,0xdcb6a5da6b2fc78f,0x17a8cd724b7b5e26,
  0x1c704c6a48a2dae0,0x87d8f6738a0c30bc,0xd8580262a4801240,0x5812cea521ffaeaf,0x21b6ff923871f14c,
  0x922dbd45c2b307d1,0x5c67ecbaace24d31,0xb90f5e3acfaeff9b,0xea5aa9f2f14efeb1,0x08003af95ab5ce92,
  0x5a39361e05692622,0xd4b8cddc309e44da,0xe20bfe5f0a1343d9,0x13848357d100b2b3,0x912a1b220fa678f5,
  0x7631242b7f6d6365,0x5a9f9a3284d95674,0x0d5b02c98afd4279,0xede70dbc04a7a3d9,0xadb3f72865ba580e,
  0xc4a3c11163562e90,0x482e567c69b6b128,0x38ec96bfcb4d965d,0x923fe02a6b4bdabe,0x0ae0ca91a2be0579,
  0x137401e7f2acf3e8,0xfdad100e85bc5622,0x9c07483343c8030f,0x71872f8555dbd0a8,0x8de5873dbfa538e0,
  0x2922d0d9a2d9eb02,0x2744006cfc375d0c,0xa82c09537574f583,0x2ab2d255e73f6f83,0x6cc5f73b682b3701,
  0x6e59fc51ee28845d,0xe536b381533cc4cf,0xfd2ac9f30025e109,0xc26cdfa60b8be153,0x62da136e08f0f885,
  0xeb6a7a065b640357,0x7462b101e2adb3ff,0x996ec340bf52ea07,0xf0aa2a872333e60c,0x222884f9c4632341,
  0x32b5289d94dac82e,0x7cdd99055bd35f17,0x92d3d262aefe21bc,0xc6c1b1029eb0dd4c,0x28f046ec80f3c975,
  0xc1f0c2d9745c5cb7,0x92ada28cf6f7fe0b,0xdfb215a8df753a03,0x942ecdad535f962d,0x7d739b8c0b7a1669,
  0xee95286e88be8510,0x4ae71aa9d3c3d36f,0x2bd6d5d12452cc38,0x16fa1504fbedf267,0x4b835f8377f3937d,
  0x0004374053160cb7,0xe44a676c90906fe8,0x2389c459f53fbdcd,0x4a7031455481da9e,0xb72c293d969a40cc,
  0xd9b72ee09dde404d,0xa31f4f98c5aabc97,0x56f240ad0aea491c,0x86264ebf858d67bf,0x93fd3b332948fd87,
  0x79899120e2d72215,0x36dedea1a614643e,0x1c5e947b88cba0f6,0x20ec77907c771a4f,0x587a65fe2c8f5487,
  0x9b5431d881ff3b4a,0x8f55b2fd967902d7,0xebd59a640fee9b7e,0xd5a77b39543d5bef,0x5dbf440d204f5d0f,
  0x4e22065f53ba213e,0x4611a2d169ad5a0b,0x41ea9888cb5be7d1,0xf8a661f2359be997,0xde83a9e3a6562631,
  0xd66dedc223dad775,0x162e54732874a52a,0xf6d91b1963c23d56,0x56d3c9a025a95772,0x92ddff0a1caeb05c,
  0x6cbeb9f263443bd7,0xb4ad540e1b11894b,0xcfa573f2f78d8b29,0xad477ed16d45543f,0x0d0283973ed3423a,
  0x5307f93f3654f284,0xbc9b362f504b145b,0x5661193dc5bcb5ff,0x151c9b1c7c0f246a,0xad25cfcfd5e399d2,
  0xc5855adf08226db2,0x5a027c03c078be13,0xc2465bfb0dc5b99c,0x8aaa55a9eca79b60,0x797a7c2608c23d9e,
  0x692b8d7da8c7f748,0xc23c7b1ab3e883e1,0xe1ebb866f32ac6cf,0xca6be5075b5046f9,0x3105a0555f6a3bac,
  0x525b7cc4839ea6c5,0xce1dd2aad7e83cf1,0xb4a9105674d79be6,0x667eb8384834f7db,0xb200a7a30f789150,
  0x4ba4d2c780055821,0xb48a01ad5f7474c6,0x3310ba4a1e25aab8,0x64379d2408fd5735,0xf11e9788704e5e0d,
  0xe9866ab0a8e90f4e,0xaa344ffe50f7a934,0xcce37a15b3870924,0xe22135597a867f1c,0x8770a58d7fe57f99,
  0xcafbbc8d2024bcbc,0x2307e7f0fcdb1909,0xdd016550b9ed2b2a,0xd0bcf0e9dee7df90,0xe82d2e7daeab325c,
  0x721a2aba71709aa7,0x38cfabc260602614,0x3099ccb02b73b4c8,0x00250ce48fd67df0,0xcace64d8984b19cf,
  0xee305dcbae8615ca,0xd187da55485b86ef,0xebea32b2455e6486,0x77cb912fa927d5c5,0x911002ac8b62cbd8,
  0x70730c24c32c5870,0x0a7cb6f89e988a83,0x6b5e00839b7db787,0xecae9f4cfd9ce924,0xae09926b714019a5,
  0xbc1b2c59bc5ce769,0x592756761e90349f,0x95c9a69a21936de3,0x192b2119ee48eb9a,0xcd8d11ebcd8a71c2,
  0x34de8d4cad3151d6,0x0fc4f3baf540eb1c,0x88bd85e02b2ec0e2,0x5b65423e815dafb6,0x66ec6fadd29f273e,
  0xc3622fbc1f1c7bd0,0x50cc102827ff1acf,0xe73cab705018a55f,0xcd552b588a227f38,0xc462735f28a9c597,
  0x3e3ccb00a16906e1,0x79bdf5d7e7dfa593,0xb333b6942d5db3a9,0x3566edd901f25f20,0x8c5fe3e063253c7b,
  0x9f0aa4160fb652ee,0x2361d9bca2c92f43,0x2d6a0339fe1de8ee,0x389b1bd9476b0470,0xd7fa2522f0da451e,
  0x43e6a01d67c62b2d,0x5bdc15971dc0d5b3,0x38a0a80acbadf021,0x2c66125ec66e1fad,0xb58f61bb53b6a9ff,
  0x492142919b2d61d6,0xd905263cc927ebd9,0xca15f966e2279122,0xf9dc67f8101119c9,0x7f6755699c23d8c9,
  0x26146d38a23b0bdf,0x0166c70bc773d9aa,0x5b3317113904ec75,0x5d3c4311b21e44d1,0x479c13c75df8cf18,
  0x75a880dd38a8a4ff,0xdf378e2eb432708d,0xca1cb0f76b1c5f04,0x06c76e876516eb46,0x965c10e60ec202ad,
  0x67b18e2140e0aad3,0x203ca38572b212b8,0x72adad835dd333c6,0xdd02aa349680a96a,0x69ab0df01d4b3eab,
  0xfebfd83a2c43afd1,0x0dcd90c392b9fae4,0x8a87b8033e4cd8cc,0x3902150c36e99880,0xb5b655e071474ebc,
  0x6c2dc9eeaffbd8d8,0x3cf62bfa4986f0fe,0xa68eaf0719a9afbc,0xde1f4e9a4b190aef,0x7fbc9e8538999e56,
  0xf6d5e9db2208a40c,0x93b13abaddf4554c,0xd8b5e4ad9911629f,0x6fdb9d7376488e52,0xee604a7ce20d75ad,
  0x94ec4abbaa9c2c1d,0xdbd148c4fcd05ec1,0x0865c7c3b380a005,0xa6da59a56992f211,0x2eb1dc9f941c83ef,
  0x3bf5ccf06910fae7,0x23a70e117e1f29f0,0x4273791acbf6c4e5,0x338414ec6b5e5d60,0xa5873517e3d057d9,
  0xea88400a890764f6,0xc0569d573ca5364f,0x4c3fc02fc93316e0,0x76597f718657e577,0x17052b8440c7d824,
  0x9a7ec0a30be21a00,0xab0453ac2173dac9,0xb6f3706820512809,0xef44f0b07d46180a,0x5e9aa12e99509a72,
  0x6231337efc0182ca,0x0963321a419da89b,0xfda3e7ad51f82b5e,0x1ab8790c2f5bf1a3,0x9ef177b8a59f28c0,
  0x27d1c87da66c1652,0x1bd6bdf27c49d109,0xc151e2a66994d599,0x5e1b8d826b8c12a9,0x39f41d57213261b5,
  0x16a57bd0bc78aada,0x0127e7f9699b55c7,0xd79eccc9f9d703be,0xb41b81c61ba66d7d,0xcf8b79dcb95dce93,
  0x5ca102a7743a6e0d,0xf422a0c3a2ad7b28,0x4a9137b4a0f03724,0x907dcf6425c829c2,0x15551fd4432261fb,
  0xa057dfbd55ef436c,0x8b2541b9e0e0fa7e,0x7262166dcdf4b67e,0xcf6533e5c608aaeb,0xd6763d3967359786,
  0x1f6b0228d257c676,0xc268c1064d2b458a,0x6d8b2f6e75d2b613,0xfaaf5adc43d72807,0xb6376765e344f9f8,
  0xa8e18dd16a4bd501,0xa71aa12a8ec11351,0x1daaf130b537ebe0,0x2e8aa415959d5d8f,0x2813ff3a3e5cbcfb,
  0xf0fdd1d6d16a7c23,0xbf2b55d2ecf0ee55,0xbd4e9bec299381d0,0xac8827ab807eb180,0x8514d75ac3b43b0b,
  0xc9b5c78e45fb38a8,0x4b66e6e7b797cd8f,0x1a482ffa6870a2d3,0x98f55f701d4bf919,0x7c0fda20e7e26ef8,
  0x6ef795976fca3b54,0x79801cd422fa95cd,0xce8a72301dbbe230,0x5e79f4c925bdd0e0,0x5729e93c99cc12b3,
  0x76d022747522392a,0xb9d7652e917a6bc4,0xc2978462dfa9551b,0xac081b4a7528b0ce,0x5b7799fe02443b33,
  0x6676e5687742e76a,0x3e9836e33caf452b,0x96ff93e427173943,0x30fa2f987359e0f6,0xfaa730326c478363,
  0x2bb0560d8986947e,0x9f7c01d35aefc68f,0x6b81189bd90a0e45,0xd592d2ad2df04128,0xbcd0e0fe02816ec6,
  0x1d6d84e5c1f8df0f,0xc4b55a73da2f8713,0xdbd6510e7ad24d26,0x7e3452b770e259bd,0xd5fe716f2c3ee835,
  0x63a6d74ef78acd1d,0x3bd673b27d5aa140,0xe394f3a2a4f6d465,0xf02f642cda7fee7e,0xe17ee2617b3d366a,
  0x41cdb92402dce780,0x4e5c54024fd18f6b,0x6f45dd1c7c5a3f12,0xf6fd2b3f9ccda563,0xe7628d358d971e26,
  0x4dabc984370ed105,0xec05f7d5c53cb70b,0xf48eccbc216dcf71,0x8a571d0cb256f131,0x4c05466392e32549,
  0x91d3f9324ef03c3e,0xec0591069697e868,0xa77da4079db8ffd8,0x287335de3951784f,0xe7afb90b4adbbf33,
  0x96e785b0c621dbbf,0xc7f54753a5e1d81b,0x4a3a42229fc7491e,0xc9560ea788a62881,0xe34b9ee97b5bef12,
  0xfae309a9fbff0656,0xbc23f738a0bf4c58,0xc6dd1ed9a7a706de,0x3473045c7f760007,0x89b5f0a2e0ace69b,
  0x7433c584785f3321,0xa38220fab7357fc0,0x04e1d70ec8db6456,0xa86065368c31fd72,0x926cee3a66885fb3,
  0xc09c39dbdb8240bc,0x1ee291407a9ac9db,0xa6120818b86fd032,0xa4c3a1cbf6a6666f,0xb34ce856697db755,
  0xe3ef1a7123649d75,0x814ea4e8549f30bc,0xc8c12f327c1ee0a3,0xc4ad0d22dbe77043,0x608451fb3ab06a00,
  0x2e1141be52867cb9,0x04b92abd9485965f,0xcf91f012eb16b951,0xacc0a45db481b3b3,0x523f65d99013b4d9,
  0xf333b8f8613fae1f,0x8b651a304f1c80b0,0xa91ecd6f061480d2,0xbd01125685871081,0x9933950983b6d41e,
  0x1f4130fd7912c3e6,0x333230fc9385a4ba,0x9d2d764680fb1581,0x277e6bb16761eabf,0x1829af028f40b602,
  0x9783144e64561566,0x410d30cd66cb4e92,0xce0e0df02a7ac717,0xdbfc28dabb65c1e2,0x5a83f419f0610b35,
  0xb0706efb6f56176b,0x684148ee29c2a3d6,0xc47213009755db33,0x2600f460fbea3831,0x7037ec48a50dc3ec,
  0xa761879a39764433,0xcfd6983de3381424,0xfdc2524f5d605fc4,0xbe84a33131a412c9,0x1bd73706e51699b5,
  0x7aea62c60dffb5ab,0x010fec687da2bbf4,0x56aa74a28e54f75c,0xba52dd2bb4019afe,0x6ae298d992a98093,
  0xdbfc6eddb2348c70,0xeab81b5b034b7836,0x692b0fc00c8986ba,0x02adf5476f927b39,0x0173c9bb282a94e7,
  0x1e617773e554c877,0x241d5db92d0aa39e,0x902c43c4be589249,0x0b817ad8f9617273,0x43508b7fb53d5d1f,
  0xaf1d845886eeb50c,0xc645d0758b0a08f2,0x3d1339390783be12,0x376e4919f2fc41c9,0x392c5bb8475370e6,
  0x5e891f54eec6c015,0x16a12880b9ac0923,0x6437af0453c57f36,0x8dd1ec0ee82c5835,0xc4738296f5085ef5,
  0x68c5d2b2d2d06381,0x8a4627fb8fbef8df,0x9d56ea18dd2590b3,0x8dbdd1fd0ca96586,0x9c17bd827cc151ab,
  0xdddb70eb24c36775,0xb56277dfd02a9c4d,0x5a8388d255264a83,0xcb7207a0b0155fa4,0x2bbc2967864dd11a,
  0x19fb91190adfc85a,0xed562d76a7e244c3,0xf5438c5585588610,0xbc16ff713cde2e48,0x42248c858cf837cb,
  0x59c8eeb9769cf08a,0x0f5260cc1dc624b7,0x6b880672b5ebfdd5,0x2e6d6cf57e3365cf,0xe994b274628cdb20,
  0x939e00fbb43765d8,0x093150ef5c7cd883,0x8ae15f57f13b42f1,0x3af5014a74f18355,0x7e1a2d0c860bcd23,
  0x796312eee1445e38,0x1cbde8ef8bdfee3d,0x207592ed0910de04,0x150e839a79142012,0xb920f5ff40de84a6,
  0x0c05b146a932213b,0x7406c434e2d92546,0x19376004d1fc67aa,0x82f3677fcf0dd552,0xd9daf63e3aa745a9,
  0x8e1e09d0a9676fdf,0x2cb86571c0289958,0x4c4c12eb3a97b760,0x1e3468d9bf56d00c,0x11f90498f14cb4a4,
  0x251664b4422a7c58,0xad10e44d41c2b7c5,0x663cf17121b6d221,0x3fe40cdc49c541b8,0xb1b1a8b2a941f9c7,
  0x83ffae6e34d4eb78,0xa4564673c6728fbf,0xe1499f6bd812a4b9,0xfb5507a915ed36a3,0xe055a829c62de53c,
  0x1ea06fc53acba653,0xce0f8c15fd8f2258,0x7dd42e43e5ef6f4b,0x0c55aecd7e1adc10,0xc31b0e4d3a4e8b1c,
  0x1205469d91599780,0xbba5d6df94390b83,0xc97925cae2f17697,0x3b98f3dc9e15ea08,0x878203758954cd36,
  0x818deaef5ba91f77,0x6f8f1786214acb89,0x26c5c2162849ece8,0xaf1c297b73471dd3,0x415c497c9fa7e936,
  0xc1804e923aa3cce6,0xdd7ca8ffb78dc68c,0x5b912445ed7ba89a,0x95dec0af89a1f157,0x7041c032d1fa5266,
  0xc569835beabc20df,0xcc662c0dbb7baaef,0x20d5d2c1383ff75c,0x7efdaae3e1c4eaaf,0x3575fad9533be200,
  0xfb0fb500836d48dd,0xd211a5090e6d53e2,0x34afe4050a01467c,0x63457fe7bfe187c3,0xc3ee000cb474d925,
  0x4fd32cbbb8326e22,0xc2abcd1fc9bf14c2,0xf34b534e55f28258,0x094ff2a11972ddec,0x9744b26f181926a9,
  0xa7fe6a0982135b29,0x0f8d9e7a0de7d61b,0x4bcd12d1b5d3d8a6,0x706e34dbac81bd39,0xefea01605e9304c6,
  0xee3bb6d1e510efe1,0x84a094db3f4620f8,0xf1752fc679d6aeb3,0x54921e5d6949a43f,0xd3616f81f2ff8c55,
  0x8bd9584eb62232bd,0xa990035eef6e7b13,0xd4c56de5c11dcdda,0x8048c23ec8bd072b,0x407539904d984e51,
  0xeaf5a1d46eb3779b,0x4b06e5769362f357,0x931f75e21bc0d143,0x9369439b81c92fc4,0x059fccc0d4afbb45,
  0xd072671b3c927118,0x61b6803f95c41115,0xacb4b2c4381da3f5,0xd73bf897ee871c72,0x241c9d52c953d3c0,
  0x083c079e704d7b96,0x8c431ee43e5171a5,0x66079596998b96b6,0x041ea35d207b478e,0xbe698683cf7b258e,
  0x5457365cf6cbc5bb,0xc166c3ef7006b02d,0x27789ff1e5365132,0xae4a02397d308867,0x0388704d03d7b613,
  0xf5c9d782d3fd58e3,0xb51c3fe53965624e,0xf785b86e7fe0adec,0x19f72a9ef3a215e8,0x19db58361e6633d9,
  0xf1fe7a08693d64ab,0x07c3310adc3bbf03,0x742e87d333077816,0xe817529af0f04970,0xe7f343c941a044ff,
  0xf9693fb4f37b4d2c,0xb99da4a0b6ccb1ed,0x4eef654d39c7f631,0xd06badd9354befc8,0x3dea38b48a4fb6cf,
  0xf6551a2de11ec63d,0xf0dd7ca2d08731e5,0xfbbac6e989684aff,0xe2b65b698f6ea652,0x679e2fc32595fb51,
  0x6547fdc240571414,0x6809f663de2d0466,0x6c6b7a0a40a5e48f,0xe5f43660d891606e,0xa44f283a5a5c10fd,
  0x95635b53a60083be,0x7e0f003a2698a45c,0x2fd0eb2a3cb4db79,0x7416380640ad33c7,0x988de04a8bfe794b,
  0x6d00569ebd6839ff,0x22ddd7d3d0efa384,0x20f9c1ae73b1a651,0x32386da97bb626af,0x263c358b8e1975fe,
  0x32bd1e4fdb3e7f7c,0x2ebb53af95ab07db,0xeccc526f7e6aca61,0x186fd1f3ad161e28,0xf96dd58eca026372,
  0x0403c8572fee3bf3,0x2598261d29b22e84,0xa4027ffeed481ae0,0xe2f690ddcdb0fdaf,0x95d11d0d60c528fd,
  0x0cc242f0eeae1d6c,0xfa3440087835377f,0x3d8fad475b8139e4,0x8e92fce862d8a97e,0xc53bc4cb5ed50eb4,
  0xc8f91ece0194e8d4,0xf78d7c6b5cff07e1,0x3163d8458b924665,0xc2ae6dc185c739bf,0x2943e3eae337c6c6,
  0x96bd36f0da4a49f7,0x98753f33282f27bf,0xd5c33455bf0f69fd,0x78cc9f69e0286682,0x0631fadc21ec437c,
  0x521c3db58b6b1170,0x2333f0f70e46b5cf,0x87be027b8d434ac6,0xba4c26796c582e4c,0x35d52e4f85db73e4,
  0x8ac3723b24e99436,0x4a2b6ce4b7a97a02,0xcb8017cc584b287d,0x1ca3610bc2f30e9f,0xc1c2dafdd385b283,
  0xa812778eceff9a2b,0x91b8429959ef5359,0xa2750c665bcab7d2,0x9212f5d704b5320b,0xfa46bb7a213be57f,
  0xd20cbd122dce6c1d,0x82868b5aee7a4776,0xf49ec5ddf8cec096,0xa4fc2bf71ac9dcc2,0x9d8b8f462bd2f17b,
  0x452703fe91008332,0x919a288ada854bef,0x75d2b2eb0f4eeed7,0xd64885293558a96f,0x098d7efb4f8d5b31,
  0x7ee77eef93a3928e,0xb28eebae28b63dc8,0x0f01129fc90af970,0xf3d5b92900d45181,0xb9d8a408ea6715c0,
  0xe44424fb8ca9e22e,0xd81135834c1aaf96,0x445b3d67398e888b,0x0dad43784fe36cda,0xe6d1bd75c5d81518,
  0x662f0e924150c5cb,0x78179f80df6e0709,0xdd8fc687a741289c,0x710873d7f5ab060e,0xa1961d2b538f497c,
  0xb36bbf75bc8b8761,0x675c608353017307,0xade6b1aa0ec59bbe,0xc803a2c9426b3c5f,0x48a8210409b5ffac,
  0xc3d58389ce5f3b13,0xa23ceb0e71b08443,0xd9d192cd9c5e9a05,0x20d9cd878b94147d,0x22329c7695f6df46,
  0xaebdcdc2c2cbc0d9,0xe95ae3d514f6f94b,0x59152e1f5715e782,0xb3280d75a8134f15,0x5bce3379e1fcb7b4,
  0x437d9c3238c4169f,0x77db7e5ebd5125bd,0x0dd3aef40336d438,0x4a496a56bac81428,0x72a128c3875dc93d,
  0x8eb605e5bef1747d,0x666d4546567a4eef,0xad5ad003399d2296,0x19c74366682b52a0,0xb3c35c5a0e259420,
  0xf98340503eb93d6d,0xa51985b0bb7f81e8,0x2a21510c6c7ca42f,0x3c1ac0b52c230998,0x4e1d572a2d77000b,
  0x8dd3adff3bfdec71,0xdfb3a4a23e43d035,0xe12f748421173e62,0x2f356145d2f72758,0x31c13682374c445c,
  0x09240a1f409fab88,0xa346e2d2f72fd5e8,0x2c5b53bfc05f9f77,0x0a9f7ab218574f6e,0xc3fcb9b977f0cceb,
  0xac26889eb86459b9,0x1082f785bc3dac21,0x3c8c337a4c67ef18,0x118e48d0e8a66e02,0xb777cef85278f2dc,
  0x12a268a3dcda05bc,0x75f5f7d3fde0bd9e,0x62f5f1650ec91670,0x81fcf9e3e1c3adec,0xf0b5e35ace23349c,
  0xde7d514d058e53a4,0x52a625e5f06242c7,0x3cc1346eda6a430a,0x165bd737e851f6a1,0xe52c53d745f1b49a,
  0x15513074f676fafc,0xcb8797dbb29e6710,0x27b92c8190fd679d,0x0b39384ac668b176,0x11341e6d7adad0e9,
  0x491b5b5390b70f94,0x1f5eccf586d03746,0x6502ca945646feae,0x3abb5466229ef7d8,0x535b4effbe0ce5f6,
  0x6575eefef9e916f5,0x77a76fbf3c76f2d7,0x1cc63124152994a7,0x6e33f80e95d4323d,0xd711791d9b2e1d65,
  0x7c766cd52013ae49,0x08bc15230d2ef477,0xb751fa3b942ab063,0xfe99a8b170a11941,0x731979294908218a,
  0x32166899c12f3097,0x8318df8e3823dd3d,0x940e81f0b4ece3d8,0x81ea0f12130235ea,0x36603dfef356d752,
  0x409eeb16b992d793,0xf4c675cca09e229a,0x0ef989d732dae818,0x269b4385573ad2f6,0x53df04584157173c,
  0x260c347bedc5ce82,0xb9fbfba9b58c1b09,0x20115df9d0693a14,0x8c0fb27588303369,0x3a9450974a66eaaf,
  0x805f0d515d715679,0x10f4b52a09898972,0x20e9c3449e84718e,0x9eed8745b4e234e2,0x946c3083bf840def,
  0xb18de02e626f7dd9,0x9e8b496b1d035ed8,0x6ef3891e7c690f77,0xd62269e5ad1c07f5,0x7117ed7eddc2883e,
  0x260f1d08457dfcca,0xe0759189d723da9d,0xd6d40adb9c9f94d7,0x7c47c4b4a670b77e,0xb2b5179563a2abe1,
  0x62118cb60f121507,0x22c3a4a74379ceb1,0xd5904c844fbfed74,0xa0afa38c06d50d92,0xd6223dbbcfcf73f4,
  0xf19623e7ec6f83dd,0xd08c12de2b6265f6,0xc487d5dc19489db6,0x759283ffd06fc796,0xd61a735ad1cd7ccc,
  0x32084ba3ca8fa3ee,0x17530308a1204968,0x80328582a1eb8d8f,0xd4c873deec7fb3d7,0x11c825cc4bc8b181,
  0x0137fa50576b21eb,0xc5ea2f958a3ddb53,0x6ae611d92b67c9bc,0xb798b3e1f9c3a851,0x22a42679fa4b013f,
  0x2071f22dae8de629,0x3faa3a80e45cbca6,0xb0418f45808009ec,0x446063013dd5a0f4,0x932445b680ef71ec,
  0x2bc9a2d9ab8e2662,0x8ebd57fbc56a6154,0xa28f3d2264ad0f10,0xffff84df76a10c15,0xac5c9b0e78fbee81,
  0xc1f08e08982b237c,0x5907b7fa41daa2b8,0xbed3856320d9c3c2,0x500a342c1902f015,0x0c3a5d539c71b7d6,
  0xa706750b1c3e5604,0x1543ab593a8c824c,0xbdfd9d26f151d83c,0x1603bb40537de208,0x1501b0ba802daa2d,
  0xdcbcc803f3c11f3c,0x2bb283a389ec2f35,0x3a27513ef9d14bf4,0xcb7c4fd02a39d8af,0xcc6f61a03488e43f,
  0xfdddf2b5fd6c4b05,0xa015987625b9755d,0x14c5a9b03c63b253,0x413f7d2608bf939e,0x8bdb68c7176407e5,
  0x436de64d8a614c32,0xc2aca4b10ff0bf8e,0x3b56cc9c1df797e4,0xb1750cce6cca57bb,0x8c80e2303509012a,
  0x7f25bae3c4fea8af,0xecf8ed9dac1367b8,0x1a49274e39668f4e,0xca4a0ae881c7dc39
};

// commenting these out as they seem to slow build of main significantly
/**
const uint64_t T_0[1024] = {
  0xe7731c3c26ba9ef2,0xfbbbe922d8044ba7,0x4db2d1485b9def69,0x3b4f191cc85dcfc2,0xdd34fe9c73b77bae,
  0x94311b3d14b54f08,0xdfa65d0a6c5a3b7b,0x303aae607b2e6485,0x2e61cde90a50f648,0x8f02456b8d6598f5,
  0xa804e36d8710e5f5,0xd1548f03a00957e6,0x30e32e3f957c4a3b,0xf8e17abcbbc47a3b,0x931eff7b8258acf6,
  0x1f10ddb211ac4af2,0x62226282c477ad97,0x737b37d4086d5b02,0x0872249cedd66aab,0x305a1addb6390885,
  0x28310d8952d483d0,0x58de201acdbb6bb9,0x364af03ae7bc71fa,0xd577d495065b048f,0x7e177f1e443452d0,
  0xa536dfc4e3383695,0xbbf30e055ee1c491,0x7948418d16007099,0x1c3f128901bff487,0xa55bb3b3caf4f717,
  0x1b7c8c9b6495366c,0xba8dc8f40710f851,0x2813fc5180682941,0x2d317ad08676ac7b,0x991b52bcbd7b9f74,
  0x12dc052c425a6a28,0xbcea05c4abdf572e,0x19fb04eaa7193753,0x149daf30af21d914,0x7bd31a0c713dfd19,
  0x7bd554988c36c797,0x734a0ed4c0f1dafd,0xa57d74ed0c657f93,0x9426666fa529d5e7,0x2f80eae028d42bcb,
  0x60797132c7b4eae7,0x82e9d82fa617eca7,0x74f889e4fa35712d,0x63c521fe0c990a70,0x8ece5d3c189336db,
  0xc5273e09ff32d30d,0xee5dadeb5dcab224,0xe77508d43a95bed3,0x9ab9ade230d60d1c,0x3b709616e18ec67c,
  0x2dbd708ad70d0b2e,0x789ef925c82fdb50,0xea1ff76efcb1c91a,0xd36757189234a2ee,0xc7c26908488fb69a,
  0x300e53c53c80cb31,0xd01595c357d3edea,0x0e0918ab70b889e4,0x885394c3fa16a46d,0x7027e2398dc6342b,
  0x3ace84bd8e5fd9ca,0x29f659a82030777f,0x91e34d9bf2d949ba,0x6ae5ee52ca9d60fd,0x7ffa8814d7801209,
  0x54851632940ea574,0xb6cb172c0b193424,0x3770f80da3b1341b,0x6243795f0326092a,0x20f758fa46ffa18a,
  0x35465eda27b2a190,0x5a58e04bab6d35f0,0x1eed8cc63b8142b6,0x9eb1baf0bd449ecc,0xe723d1a85692a808,
  0xeb72cc360279eede,0x0712cfe0efcc178f,0x04faba787c292ded,0xf3de273afa39cacc,0x30624f712449ae7a,
  0x4792a2c2e2744cac,0x2f83401c7f642256,0xa51ab859749ee05e,0x3152eb5d0c34972d,0x0a1b190e5f219279,
  0x4f2b6a69d0b5e678,0x0e33136edc19a9a4,0xae945ee1558077ed,0x4d54c2ab2d0c4198,0x89c5cf5b63bf6812,
  0x41a8bb041d151599,0x9a22135cfad6d364,0x538874c1f6afa836,0x997d0d9697861088,0x25ee7f72f30acb4d,
  0xba9329dc531772a7,0xaf732710289ff098,0x1dd1bf80e7b9c588,0x048f4c5b8b48de1f,0x62e4dff35703ff8f,
  0x54942bacfdc82870,0x506acbce2a17341b,0xfeabdf8ac0ad130c,0x40f7c682b7a2c62f,0x42816862aacfedaf,
  0x486b52bf7cd6257c,0xedf846c617557246,0xa11c4a2940776eef,0x798a497ebc94b59f,0x2a99172887396596,
  0x134421a6c0c1a54e,0xe8f5c693576a4a27,0x41fe397499c83d67,0x5eff85f81ebb4fa5,0x9bb6e1a77d2539c2,
  0x275d1698077128da,0x27099645f7cf8f5a,0xf8b527069cc4fbbd,0x03ff8a9805d9ffc5,0x952f1253c3250b32,
  0x4a3077d98a648f69,0x139737d5d6b37be9,0x70288847c438a21f,0x2bc42bd54e2fc7d5,0x175ee9f926bfd85d,
  0x38e629ec43274fc1,0xdf317083681d1382,0x1e8429821113f7a9,0x0cf9982ce2c5107e,0x9ec00560d3135b5f,
  0xa2b47ac819cbe554,0xf13ed267a58dea27,0xc22e936e248c39ed,0x3208df1c6a28af1b,0x6bda7e8f3a409c12,
  0x54337b461fd027a2,0x7343495ad9944ab9,0x9ec4c2038e556ac0,0xefce8ee793c68543,0xa3e79c6cd6e5b9df,
  0xe8ae6e45f1a5e2fd,0x37da26967ffb9b6d,0xc65b61473cc12698,0x61365ee666ea2f6b,0x39b5540d31d2a88b,
  0xdea23af66f8f54bf,0x3e5ce41b2d07f98e,0x94c5680b7225adad,0x164b20add3c6428d,0x2ecd6585c34e95cb,
  0xefe053d54d0f1ee0,0xc38814111330f619,0x06fd1d0a09bdeaa7,0x894e264a90ec7c10,0xd0d96b10aefa96f4,
  0xbcbb6a7434f2af38,0x89a0b199356e8721,0x55f3054e15fa403d,0xdbd89e7e49d371f9,0x119f5a9fdb71d80c,
  0x8c3fe545dce860f1,0x0256f017612d1115,0x463f5a60263b0338,0x62ec47e5b549e395,0x67466c0a2a11a1f8,
  0xec676e9a06cc0803,0x92a64ff02222f063,0x31c610c6c4489e1a,0x3b1a408609d9605b,0xee2fdf5d3e235dfa,
  0xcbe955c6b500d350,0xede14ea1ff0573f8,0xe04eae9a4e039e8c,0x74d9139daa8b5e5a,0xfb4905640fcc37c7,
  0x4a6e71d4f25bcf5f,0x8c862f08f935fd6a,0x2088ea78823efa4c,0x892645f17466d2d6,0xbfbcaccabf6c5a13,
  0xf35c986a8fc58932,0x584b3b51fda9a4bc,0xc5f857d9184b32e2,0xddfe0ab28e4fb8e5,0x7586187c00256b3c,
  0x21c60f3236217167,0xf0dcd07d5af2143a,0x1f8ed4fd4b63dd16,0x05c1d68f32e9a4ba,0xf7b947221a0812f0,
  0x07f431d1e650ad5f,0x53671a4ee2e28f59,0xd72b8c5333ccb630,0x34c1f65950b52d19,0x8bc58d504424c08d,
  0x3d44b7dfbed51c60,0xb1f54f27998971d6,0xe010d891138a3af0,0x370a6ce65c137d87,0x6bd17eaea80057e4,
  0x6eeccc81bc4d6266,0x48aa599327f089f8,0x01b863983a7882dd,0xf38517a3797ee96c,0x9fbaa271a36daff9,
  0xd14191229d082844,0x7d73c33f6ebda184,0x05f7c58922af2bff,0x9e8d492e5d650c2f,0x23feb7be40d7c7e6,
  0xbbd292d9d25cde56,0x5b599d05f8c7d08c,0x97be2022b0a63336,0x41b5886e459fff47,0xb166032f8652fb9b,
  0x790d009aa9aa8c8e,0x27bbdbde70a61a69,0x31bd33dc2cf1bef3,0x4509bd0973a9ab0a,0x69676b790c9a0410,
  0xc03cce7226980346,0x72dadd29c709a6bc,0x73f87a56b0ce2e87,0x819d1988906a355f,0x466c78cb825d995e,
  0x344da6f80c9c44ad,0x0609ea92d9a5eecc,0xfcaa4a89b756e7df,0x7f6cbecdb091fda4,0xeb6a273e8eb9d1be,
  0x325203f7f4003c4c,0x3b15cb2068378252,0x13fd1067bf2679dd,0xfec8dde66c12161a,0xb2bbefa83997e51a,
  0x82c31c62c44e6531,0x279fc12fadbd325c,0xf8634daa350fcd5f,0x9e97208429bd1ba5,0x269564006a808a39,
  0xa475c585ba467e4a,0xd6aba3100dc6b062,0xa0b85b12a6bd3f62,0x5c511f921b6963af,0xb1142a4c6a1dd600,
  0x0750d2b1aa2ceee2,0xbc0f985776817e50,0x4253806d5740a8b4,0x2491342857bfd0a9,0xba986b01978c30a0,
  0x9e69b1c74feb3ce5,0x399d1f928e6db116,0x128dd04b401869ec,0x0791b4d42aa293aa,0x75f491bcd419af29,
  0xb12e74413b543632,0x914ddc351fdbf5ad,0xf0f00d6252abd527,0x5559c33e8209f257,0xd3378688ec163135,
  0xb012ce7d0bdb3367,0xce0f0439bbf92a9c,0xd51794359d6a3bec,0x9f754468cbf58c1e,0xd4d051917af71bef,
  0x04ec9ccd863fedee,0x8219a2b72ec96904,0x9eb34d0098814b3e,0x106440a074981e9f,0xc1844a660541a070,
  0x9923be6b335b6dc9,0x59904be0238b7198,0xe39503d387e0bfef,0xfc4f04af45d3be9d,0x629685d6e37e5259,
  0x7e65f7e35e533936,0xcc8f88eeb3afe235,0xad19fcd98de83729,0x6ec3e470d8e3cbca,0xabf5d4d66ec1b5c9,
  0x0ed90e8ea56b3b85,0xca45faf8659c88ed,0x92628a9e52d248eb,0x5185c004639922ff,0xdaa197b5382d05ca,
  0x08fba1877c8ca8c5,0x1fee876afcbeeb58,0xe1e3e5e371c9cab8,0x4fdedd7d353205d9,0xc54a66eb21bf2803,
  0x32c2d3c28c5a1f02,0x9d5744222a4196cf,0xa36b9755a7682e68,0xf82e5478880a70ab,0x571460049cad2b12,
  0x051fae743c0d02e4,0x34505e63cabba478,0x3033234708975bdd,0x861363084d1c8ea7,0x513b4f7f185dd5df,
  0xfbfb4e69edbf6298,0xe2a615a471c5e8c0,0xfdfbb62c33a8494f,0x42dca8c5da2c6246,0x71a85bed66fa46e9,
  0x7a7979ee610dff85,0x94d2c0824aeb16de,0x0f82ca8aa51827d3,0x6049f7fae73940fe,0xb98d3db3c8594398,
  0xad5497e1bb50ae69,0x98eacdb41fa24f2a,0x2d1d4c0c7bd73c38,0x0d14cf9a0081edd8,0x789057d1014a26b5,
  0x0b8853b70449769d,0x40fd24841caf23de,0xec50dc178adf4879,0x2e3580528df83443,0x66eafd30c4f584a3,
  0x5fa2d2940cd2c546,0xcb3263c6a96a8e92,0x0dc9f51778f05b07,0xeecfe5bb20a3c335,0x80a827d47cccc98c,
  0x9827fb46dc805a57,0xe77edb9a6114da5f,0x32090cb76dbd90d9,0x789dfc6b138dec2b,0x19546562615913ad,
  0x77f014fc2b551d44,0x965caa36e37e53bf,0xb57476c4c11875fd,0xc8eef3d6c5382758,0x1c5f6ecdbad0e0bd,
  0xd2c92c321fc6ffff,0x214ea837900d5f8a,0xeb3b2094ea4d0c05,0xe9364211866f8e72,0x09886b2015c755d1,
  0xa52696ab836fab30,0x21625a405045f8e9,0x5e2bf06e9666fa03,0x086bb045c702e3a1,0x771e440f85f9607b,
  0x1183a5c10c9b6354,0x3bcb6b99dd75b6c9,0xe08d8266a25d9403,0x72f2a5ecdcbe6cc5,0xe44754886caa8e05,
  0x01ba9a9ce2fb88b8,0x3bbf172205ebf841,0xcef9b2ec11c9ce18,0xa810bdd1947451d4,0xc6d757b4c45295a3,
  0x04d6ed216829f9bc,0x60006134c7745820,0x1bd0a233ec171c6d,0x7cc9b7dcc0063703,0x7e337278b0feb454,
  0x86d31d8a4bd65520,0x16d0865177b88991,0xe5ad733caf688d66,0x66a250fdeeaee3e8,0x74d76fd87c5356ce,
  0xfd7dd956ac54607e,0x4729ea93c4bfdd8c,0x8a28fc413ce4971d,0xf26cab2f7e0f9e5f,0x5c5443d39e5498cb,
  0xe04f55de495c32d7,0xd7f46d02a60b4e40,0xdea1a71123f97986,0xd7c817ad8c8aec9f,0xc692a5a7eb22cd7a,
  0x18bc5fcd054b07a5,0x37c0adc2a6c48dfd,0xf0b3dcd58478f3b9,0x2c430740ff749841,0x2e37d6494b4ffe05,
  0xb853c4488791e5a3,0xdb156d6cfa566eeb,0x75a4a75e677d5719,0x1a87de6e0139605c,0xd24e80aed8e671a8,
  0x74c906b938c7db5f,0x29a7060a99ea5102,0xec98ea84d65a6cc6,0x458e82ba2cb5e9cc,0x8e1f28c190ed3221,
  0x44ece308acad5273,0xa4c5ee6c143eba48,0x0abb9fa8920f4d30,0xcd4f26310ee1b2d7,0x7d978b02e254bbb0,
  0x3f68700646fee88a,0x76895be2259bb8fa,0x5a86eae059935a20,0xbefaf214e101d91f,0x245cd180c2482b46,
  0x9eef1c8928223b86,0x1c4174938fd3822f,0x6315d4b1b2c407fc,0x63abcc1a18259d7c,0x9d8b3abf668cf2f6,
  0x8ab53a123dffcf6c,0x894de2e99a73ce89,0xf47d2f60e8105fee,0x03035f504b22f26e,0x246a60f5ee6d1393,
  0xac0675103498585b,0x01d882bb86e3af27,0x55583aba3971b98b,0x37fce2a9e0b3d8fd,0x07312ff34f0c4dd8,
  0x4a0b9d39a3028f6c,0x2f431d38fc7a76d9,0xa202ee4066f73eef,0x1317eb3fab511fbc,0x47def77a889ea8b8,
  0x321e4f49f1d7007d,0x82f8362315fe6034,0x587103b1937ea1ad,0x7d49cdf3066b072b,0x55477e8a84a94ad9,
  0x85a73c3cf3bb824f,0xcc93847ad7f6ced7,0x27520a9e969164d7,0x3bc9d90e59131d53,0x7f786dd03b0fa0dd,
  0x3923e2f90b87bc24,0x142240e68b862807,0x14b715099d9e7d7a,0xb6e9f455a913261b,0xfa896bf177c6abb1,
  0xd24f696c695038b4,0x2919444a8ccb933b,0xbe12c55d36d59ce6,0x1d211e59ca1c8b09,0xe75fb8e29d666bc6,
  0x6af1b79066137a81,0xfe5843833247272a,0x55f2139289f05af0,0x5da30dc80d7e1872,0x16b0209f18222305,
  0x3e1dea77615d6500,0xa0cbe54322d72485,0x2ca57a0fc1230104,0x3db45121719d3957,0xb90c51d948e9cd87,
  0x73e2b9a1cdd32bea,0xd44ade2b4cd0883a,0xa8d1655433cdd01d,0x0fa5c3c0d90e6260,0xb68ad5f990f43a09,
  0x088eed3a8cd09865,0x0825bf0fe39c8a2a,0xf499081fd3b53873,0x1810ff21c02952f1,0xec63ca36778a5e2e,
  0x1d7443495762c1a5,0xc0f1fe4c0673501f,0xdd5cfc76d584b76f,0x6eea1a6aab9f1b42,0xfae310949b276a26,
  0x895e372cbf9990e3,0xc36589cb7cb788ee,0x906c5b78cba93e8f,0x17df3a102f0d80bb,0x6aacdd50a7348c2b,
  0x29ec427c61f1f838,0x9cada20d1ba525ba,0x91161e02077f4206,0x9d959c7c3b447f21,0x1d5fbd3254093f1e,
  0xe74e6dddb6b7434a,0xcfbd50bc5f90d479,0x1088f755857e1843,0xf3f951d15bbb00fb,0x546657c5a95c9165,
  0x4b87e9c094eda742,0x746c225262d5de2a,0x20c1ab84db911bba,0xc5b18c2f00fc11e5,0x521864806eede3a5,
  0x7803b6cb109a958b,0xd093f4d2359f28cd,0x039e356444d27f97,0x6dddbb80c1314e69,0x87e095fe4c94909a,
  0xbad46c4c75542ed4,0xa807f9957ea0db53,0x6cdce33441ef05e4,0xc50dafa180602e6a,0xcdcd3777861d6ad2,
  0xa038be79fa13476e,0xf1dc1ee367de82e8,0xeb484e1445642ef9,0x4cc522ac87a82b13,0xa446bfc8e4ee31d5,
  0x3610aa628171df0c,0x7ca00890f443a977,0x7bd84540fe3e3c06,0xc884a2a34a66d6f3,0x561099c138be0f14,
  0x304d05ccb262615f,0x72926eeeabb96eac,0x0421b25fc39d5391,0x5d52be8fc49d3916,0xa0f442eac1cd9cec,
  0x4b3e67a89ce01d84,0xd174025050a62c03,0x258c43a1f64e16ce,0x803ca39b7b3b8377,0x7dbb03c92caa6573,
  0xf5507ff0cbe2904e,0x144b831d7a1e2165,0xf122fba89963003c,0x5cf0fba574d5ba1e,0xd867734db8090f11,
  0x4f2c285cfbd8d4d5,0x34aa645e62a67bc4,0x09fdcebaffa8e4ba,0xe924fb942d22945b,0xe52610bb6b90c2c4,
  0x939b51c6c08f1eaa,0x3f6555f411536b9b,0xcf9d3fd8f6a4a439,0xea695ccb6e24c7c6,0x3971f89e5171de21,
  0x03c7dbd8a130b8cd,0xb59493a495a1571d,0x5cdfad7c72614fa2,0x8c7145502ba8aeaa,0xe05c5620b8975c6a,
  0x383a4a2d398a8847,0xcc629ce101c0b2b8,0xdff9f6f1e40acb0a,0x03c83227514b9ea9,0x2d4dcbe911411af2,
  0x2f74db630b8cbe80,0x3cb4d51892068479,0x2dbdb0fb60a4a6b8,0x93874fddc847f87b,0xb77e14e6197280a7,
  0xe2550f893b3804b2,0x4ed0cb7e6dcc5030,0xe7019d30ab5cb57d,0xa8c41f804f1c69f6,0x15b662fdc91c311b,
  0x824280638ea073c0,0xe4cbe7c31a8d5829,0x44c8ce03b4e1344b,0x14ce349d393c85ea,0xce3886434405a3c6,
  0x20d155de74925aa0,0xf13c1f122daf8810,0xa341f53ad7293ad9,0x8fc18b95551a4ec7,0x852259ddcc556964,
  0xc53feb8152dc115f,0xf14c0864c19d1387,0x60fd5ca5083e514e,0xc58bb02fbba94b71,0x8727a2671fdc0bed,
  0x0ef9a2fbb688478f,0xdc5bdd176a0f0ebd,0xd17f07c05fa835f4,0xe92342008d8bede2,0x528ce0c351d2bdab,
  0xc8544dd5c053a1d1,0xccbfdd8952cc1f29,0xa63a6e6a7cd0ad52,0x8f29bb8a4c7fcfec,0x80bc590a10281215,
  0x39a027478ec713ad,0xc1e890e3b174cc49,0x607ae4b05d9f9851,0x553839420907890c,0xe33c15fc5ca8bcb4,
  0x9c59be887b20aadc,0x47706a0e1ac23c00,0xf093e8b5de3d1756,0x8aeab41b883e5f23,0xbfd3928d4f4c676d,
  0x60364c3c02c65f93,0x5373a1d08461126f,0xb2497513a5068508,0xe9ed937749054b8e,0xcb5c95779dd2f08c,
  0xa3cb6e08e0d719dd,0xe4e49a1fadc13acb,0xc427e3786c872c1e,0x93f40cc66606d1e5,0x949d0310ee047191,
  0x57bae92e5cfdae06,0x0eec1e7bc21cf92d,0x99d164fe5ee5f4f8,0x7e44169212345012,0xee677d9e7d3ed1d3,
  0x1d87537367eefce9,0x0a2954e16de184df,0xca13fc4be5dbe89f,0xfb08f07d2dabf1e8,0x3e4f8ec568564b50,
  0x34e3dc31924ca97f,0xdea5c8e7ddce3a2c,0x6b478daa6ed15477,0x933083a0c9cf717f,0x44569c0b359c86e4,
  0xf964ce8af8fe707f,0xe807da12810b780e,0xe335aa5e9ed59c20,0x694f92bdbcfe4c13,0x67094fac22970f7e,
  0xa1b5f8b0ec066244,0xf2e97101b362c4a4,0x9d603a579d95f31c,0xe86c4a6cbef639bf,0x4402915d0436e6d9,
  0x9d6aad3ae25673cc,0x3014ad7c9bc9b1b8,0xce81a13933f69821,0xb6a51ca4c7cfb0c7,0x321f437eeffe4c7a,
  0xd0db3c553e8fa0e0,0x921fa28473556495,0xa03b3c87f738ae28,0xa0cc6b5f09c1fd6d,0xb2506d703e235fae,
  0xadad0789b13c3b52,0xafa5a133489d4abc,0x9f2f245b5918e1ba,0x3409cb0adbc1e6de,0x964ad3e77c9193c5,
  0x11ac279740ed332b,0x63ed8a5d6547005c,0x38dbba2423e077d9,0x8cb6b6da90d7aa65,0xef6eff3de46630aa,
  0xc1bcd45e057c1300,0x6d90b7a00dc3e094,0xdad28ca51b59a7ee,0x9cd222c41c0af7d5,0x1bcb1b5bc6d4cac3,
  0x6c103a9b65b0e549,0x078943ace03c028e,0xff6febfa5d9103f7,0x9ce1162b03de742f,0x5f5c2c51319992f3,
  0xf4a5d0d4a6ef7936,0x61f4b58f322dbf57,0x73bead4e3030002c,0x1f103bd3527fc8fd,0xa1eec24b428892d9,
  0x8a9afffc9729952c,0x61aaf391ae552e2a,0x86b8f807a4b5d237,0xfcf02a8283ffb499,0xd5fdd619361185fa,
  0xb2cd4303dd521aec,0x470e46368661bbda,0xc39eacce8e0467e1,0x9f594dc523532d85,0xde4095afd8bac46e,
  0x8bcef4167e0b10a2,0xd9dac743965b2508,0xff7f8db83a41c81c,0x9c3f93faa3de99a6,0x99f67699823f3c81,
  0x72ecce68f48f7974,0x5b7e13f36a47f511,0x486421701fe4de62,0xed5a9f51645ac8ad,0x1c4d62a649f5bcd9,
  0x708bc4641addbaa9,0x8393c66d38270d20,0x027a504fbf22f092,0x644338579c6c41b6,0x1efc85b71516967e,
  0x9e8cbb97492a934c,0x78354b047291d3a1,0xd2a55ef012e705be,0xbc23c50876419a74,0x0a850daa4a5997e0,
  0x874a45adff1e9f0a,0xc0364b9a28d474e8,0xad2cf25653bb2d23,0xd0ed74d6f0dd9560,0xf31fd9c43a72f815,
  0x4a8e4b196f09d9f6,0x8317801e04607c52,0xf8131d8c654f4dfb,0x413c7d959690d627,0x7a9305bb85353817,
  0xae8bdfd5c4fb3e84,0x7bfdcabb2d2a3108,0x8bb2ad348cf7a60e,0xe3e5586148967985,0xa0beb88b6402471f,
  0x5a776c00f3da4c4e,0x301a5ad2c8ecbff8,0xb0f12434ad12e461,0x927b31b3882f21a3,0x0de1e88079173076,
  0xcd187cd9e3e6e89a,0x29dd64e839cd1711,0x85844ce6eac79829,0x2dc83a89b1f37000,0xd9c181a4b16fa8b5,
  0x5bcfcee7232ca90e,0x0c5ff38a8681579e,0x759eb8d27edae01c,0x534e15ebe668eb35,0xe12ddfa04fd291e4,
  0x0560f3b830592171,0x5b5f9e3794da2861,0xe564e040af908a48,0x36fe651c1e88b1ed,0xfa06cfa6f9613513,
  0x194c314e2e55d3f6,0x39fb97cbc91060a2,0xd2b27d059b02334b,0x10ce11570cc6716a,0x8c3f7fbc5653243c,
  0xc670a9fabff93560,0x23189f1f7f20c5e0,0xd234b353204cc355,0x990f408f1aef71a2,0x6379fff9018c0024,
  0x55de055edfe01c05,0x10e792ef37b2fb57,0xbb66f2678a643d4d,0x4c3400028dc43a70,0xdabf50dd77487fbb,
  0xf0dd161d38fe4673,0x33b87c9df18b0a26,0xc737fa3eaff98389,0x7ef3b2ae04a18565,0x1a590f83bafacd5d,
  0x0cc2e791b29e4fd3,0x97fc018f276db045,0xbd70dca837370723,0x7ecd86c67c677165,0xaebe897525aa92d9,
  0x8eef53a29bb5a5cb,0x3eff987708698f9d,0xae97d1efab573458,0x584c92d82eeaf10c,0x08b6ec4233fc8482,
  0x2c74dfbf2150d62b,0x80637df722b782d7,0x7b0fcb6a0404b472,0xaa63f46d1bb007ab,0xad4713b98f076ff4,
  0x64a94a98f1271971,0xd6810ba48ce95e0a,0x3433c8e42fe12954,0xd322582e9554a16c,0x08f7d770fcc0a9f2,
  0x564f0096519db19e,0xc235fd2dd30795bb,0xe5e1045a53b0d543,0xbb7a1d67246ba481,0x61348ed918c133ba,
  0xe5b822e3c38fe04b,0x6df37ee1d6b8ed4f,0xbd6c2f9f9ac6e00b,0x61f76eb16433097c,0xaf16ca46858fba06,
  0x8613dca5b592215c,0x716efb7f4bd34602,0x97ca8491530f2a38,0x6f01cb3875dcab21,0xf8fb39f0d8f1b8a3,
  0x427763d06b670a8e,0x13ad6637309edec4,0x37db56f2b6b29d73,0xdb9a21f9548d5085,0xea356cf4accbb8c1,
  0xfae53653e67f390a,0xf88ad527ab15d176,0xa909968cac52b07b,0x01c4efb0bb477b7a,0x9427d655d1eaec5f,
  0xa66d20dd749dc526,0x90955945778e0a5c,0x0e375cbed1c9d47e,0xcf9a010461618d96,0x36263fd325a5e4f3,
  0x0a85f12754b6a7fe,0xf5ba47781185393d,0xe46bdbdf1f53e727,0x999fd232591488af,0xf8f4dda60d3b4bba,
  0x345ce04bc399a0e7,0x6ef8ec171ed33f61,0xec28cf4a3949b68e,0x9841547cabd9ff9d,0xd11b812b37a70448,
  0xedfeb0aef7bdec07,0x393fdd9195cc3d65,0xb02e5c61335db685,0xf5020936441e6b1a,0x593b831ed7e13fda,
  0xedc98eb5c794f3a0,0xd3d02b7e7153bdc7,0x4d7e0aeca1a8656b,0xd4abd43fb6cab76e,0x2dbbee24776d6b66,
  0x07a62fff3ff745b6,0x7ad76244fb126f12,0x17682a5a37e0fdca,0xd94debc573b9953b,0x6c5a4e55174f9914,
  0x46f6897bdb60071a,0x9328642bb5e214d2,0x277ecbaabcc1a05f,0x4ec5dab2a8e92ba7,0x69fbaf9a0dacea55,
  0x0a72523fce960133,0x9736237072ac5321,0x02074769eed11e8a,0x542b1b8eddc0eaec,0x97b11e3fb89f0109,
  0x3b160006f233af25,0xdcab5fba986bed1e,0x27fb1a02e5e40d9d,0x08f720c3c8496aff,0xc4473c1b5eaba069,
  0xe16bbd24fa46e6e8,0x69a90f26c37fa33f,0xda15421a0b7f64b5,0xbadb335ff1ca2648,0x532142fdbe287315,
  0x089189c467c33a15,0x1406c7096bf5d748,0xc292f257c1262189,0x7f5ce8ba52437bf4,0x27cd19207a2e4317,
  0xab55045cc15bd119,0x64fd90925fe140ec,0xb708175bf3470ea3,0x9dcef48d72ed4d5b,0x51c2a3932007de25,
  0x50a8e864625672ae,0x05e9e617ba4be802,0x03341af6a41c509d,0x4545f52f8a46e7e0,0x3ccda398e7c0b49c,
  0x82b664048956ddcf,0x6dc176df33ae8491,0xcb39c42559560874,0x7f8f1a618eb1298f,0x07c4b07ba04d8213,
  0x6f27894d3d1e2125,0x033a1bf55f252261,0x0fb84c04abaa12c8,0x191dfe9dfd5955e3,0xd88912dfef481e1b,
  0x2a84543682403de0,0x475aa56dbca11dc0,0x0cadea6ad10485cf,0xdfdbf2b32a17de64,0x68f402fbe54003bd,
  0x9233b87b52c10d06,0xdd7b4853342a081e,0x90461e634fa0d4dc,0xa2dd514e87f222f1,0xd9d94338c3c18633,
  0x882899fc39edc25a,0x7467f3a85f8791dc,0xfe3a97032ea3bad6,0xf2d84e89d3814674,0x90ec207449bd62e6,
  0x28d3d1984bab47e2,0xdf67ca7757fea14b,0x104156702d26f098,0xbc9f1b54ad23fd32,0x6cc71d8197348397,
  0x65e108a2df2473a8,0x95275e20646ed87c,0x066cde3a7c03878e,0x83afebdb9af31f8b,0x6c0cecc0e461d432,
  0x79cf4cefb44c36f8,0x7110a302fe45ad02,0xde3232afe7eaad9e,0x144c9def0b2748ae,0x81f70c184abfbd91,
  0x9710425a38b91afb,0x76b21900a40b34d2,0xfc1623422bde67bb,0x23bcd4a148b1e888,0x5a3a1103fdf5fa5a,
  0xb43d666d7665871d,0x4da4e151064fd441,0x6c9aab20cf269a76,0x4a47501a7699d0ca,0x560e6ab350d30914,
  0xb2bdf65865c033ab,0xd9b28d2eccbe434a,0xdccd8e3b34e7d3e0,0x3972769490ceed5a,0xb4e5543eb57d61b5,
  0x5443dfcdf2ca2a27,0x8a44cce508f55aad,0x425c5d36cc048ebc,0x9ea2367ac791d7db,0x13e71ad639e9f700,
  0x45e0fa7e46e25a08,0xa149d351810aba52,0x9295190980ca60c2,0x0db39a9ef8772b53,0xbbfc851bf333fc33,
  0x566637afaf7d5e28,0xaece9abc8f5bb82c,0xda1c1fba0654c451,0x31831c59067d4be2,0x50cc94917e48f654,
  0x5ddaea83212a32a3,0xa99bf56fd8532b32,0x068a1cca19ec0ae6,0x53a4d2834d3d1735,0x755161c78883a11f,
  0x8c9b3ad1a68f8dd6,0x08f1e293bc00d24d,0xa624594a17009e37,0x746ae26438f96e72,0xfa460d3c61f37793,
  0x607ca53b92893869,0x481f6f1fe4ddd56f,0x53d69a573c1d6f34,0x0f66a73664f1b496,0x1e0f40f84d108687,
  0x1cf3477138be9ca9,0x9ec257fc98143aa3,0xd6029abc4325d7d1,0xdc94917cf1958c3f,0x3320ccc937f85725,
  0xe0b208c746ed4fec,0xeb36602e6bc4b1ff,0xac88fbf84cd83d17,0x71e6df7f9ad75fec,0xa634251c5818ec05,
  0x647a1a345cd6aa16,0x4d6e49d7d0c7b60a,0x362292259e58fc57,0x6a07070774824d24,0x63b0fee8a2dffd9d,
  0xf994c240ee4e9f2a,0xe7be39d92f1a3fcd,0xe861b4ed4a3b3e0f,0xb753eb89819cba9d,0x404a0f3fc22feeaf,
  0x1032ff538ee27257,0xd2a785ffbc8b3fba,0x6a2324b032ecae0c,0xa16f141a7b9c585d,0xa4598cfccf9371ff,
  0x9db2ec680a0ee354,0x95bc9087d109deaf,0x00b7c2ee19a1a285,0x95cc14e389db1f57,0x087956e899a01d8a,
  0x7eb31bba0e171b5a,0xfa614b6f42b96c2b,0xbd30b370a9371363,0x21be8e5e5092d15b,0x5dd9e9c0add72f46,
  0x6714988ad8ba7ac1,0x73beb634167b9b13,0x08adcb5e8b91b4f5,0x707e767fa51e2ab3,0x83a24fad62983039,
  0x81fcdcadbe021762,0x2588ee1eef276ae5,0x2cc4073b53b05ecb,0xe26b2a486f5fe3c7,0x2b96f21c3f03c952,
  0xcb0764bacbd30429,0x4b03850cdf4a4fd8,0xaca019696cacf29c,0x0dca0ad7667fde10,0xe278bfd4ba7cfe5b,
  0x694dd4c050474a7e,0xb401c53e118c5449,0x84ea991babd888d9,0xb7c2411caa4ecaaa,0xa24a3eb06053b884,
  0x4c2639692620256f,0x0be7a9d327e72b78,0xfe39e3c3b19e2e36,0xabcdf8f69fd2f941,0x28803866d51d2b26,
  0xfcfda183841db1ba,0xa0da76fd6df59f5e,0xa4a945f472be7359,0x46d1b4517065bf1c,0x404b20aa45ed9373,
  0xe2f5778d2bf67836,0x903c8f3ae25eb373,0x2683ef2924b04f85,0xadbf81a161a16db1,0x140fed94315138ea,
  0x162aec89af33b405,0x4a91b46558bc81a0,0xe1c0bd21d71ca421,0xe5dba1cb63896d79,0xa4122b531da45513,
  0xce0e831f865358fb,0x8d8ad6a4aee1c395,0x43eed9a860c0eca9,0x885f0fd653f0ea18,0x3dfa4e4c4082b3be,
  0xde01007f6afe226c,0xa31e9ef99bf767e8,0xb689c1141dbe8be1,0x8fc227760aaac79b
};

const uint64_t T_1[1024] = {
  0x7d3ee00f6997d080,0x15f938b38fdce658,0x5cb984c96d37094f,0x9e545acaab0873cd,0x0bc94b0576b6f88f,
  0xdf34418ab9a31384,0x3783cf94a9044519,0x3b11408cd4d543c0,0xcfbe840bcdda4e8a,0x9181cd09d85b52bf,
  0x68ffe78eb36842a2,0xb01f6bd669e19b77,0xbac9885f8faa050f,0x4a995c40798ebd79,0x10d0c140c14ff45c,
  0xd452f2794b2e8ae7,0x7561cc051124a056,0xfc7b66b3f071118d,0x64849f19dad52b8b,0xff6fb994f522997e,
  0x171b9fdfc0efc72d,0xc2a6743b77afc7b4,0xec16ec5ece190de5,0x9e4fdbf0597cc1fe,0x52cdd93ed9e4b63c,
  0x6eff0f44a83b0573,0x12630c8b9972458b,0x05b2a8a97102b00e,0x41165c417b0d5760,0xabfe2b4d68d876be,
  0x334a26b4d0851ad7,0x4babeba8f97b2a2d,0xf2e2e8e725eba040,0xad64940e0e3675c1,0x92dba68405ad402e,
  0xf32b2891ad53f31f,0x131d2efbc4fa6b8f,0xb0e85f647f90e2af,0x85e11eb9a4d28d03,0xcc7607ccb20ecfbf,
  0x47837929631effdf,0x89b4845777cd4618,0xd95815b3be863e0b,0x4fe50d7dfb9daa5d,0xe905efaea5ed1509,
  0x28f45805785855c2,0xbfe77cf89a3b1d04,0xab7151f0103f6725,0x3419eb0d5be909b2,0xeb7d971dce98047b,
  0x7bd0a0688e7ac00f,0xf190bb221a5f0d5d,0x17151fce5d67f3f1,0xa4cb4f6f14c881df,0xc804465bf8bd5f81,
  0xdce4ce5a4b20c010,0x4717930c3729591e,0xffbf5615ef8ddc71,0xda29085bcf84739c,0x3c14adce990a44a0,
  0x964fbacce13caf44,0xf50926d248ff1b56,0xfa861aab52f9609c,0xf0c0f5c5bd58c365,0xf37ecf02edc17b4f,
  0x7d7fbc8b2474d8b8,0x11784e001ac5d289,0x81474151ce8a6285,0x747720ab9c85f3f7,0x44e7e5ed2225d31d,
  0xbad438b3cbed1d05,0x29711767968b8c30,0x84b5233fcc2054e5,0x05f6c5b9fa53a34b,0xe8679e395ff53ada,
  0xc9a54cd8ec06cc8e,0xacf65fa0ccdff284,0x60977d9a0c5c4cd4,0x543adfdeab58ddfc,0xd61d880f74c9741e,
  0xf8752b678222ad34,0x87f16a32ad0ab6a0,0xcc6126b3fcc1cbc6,0xe0d564f962011709,0x7b081950c63e610a,
  0x2d6c062a43fd4ee1,0xc66aeb07f249c9b3,0xbe2842b78c187fdc,0x6ca79356f3aa6152,0x0314db06fc0c08db,
  0xe96e5f098130d4d8,0xcb7be814f1158015,0x9b63522beaa388e8,0x92c2f515861a41e4,0x6b427f4fda53c825,
  0x5529422a6590552a,0xce5074d31b66932c,0x1ba7e4c90bd219a3,0xd16b8455d6dd3c2d,0x5656dabfaa99cd73,
  0x50439c05f521ea8d,0x3f286fcdebf49be3,0x04e4e35e627cb540,0x14ba62400f533a54,0xd752730eec313968,
  0x7f994e31baefd56c,0x41686df0624e29e2,0xc3afae89366a3f12,0xe535f1faee193d24,0x7cf67b605ba66f89,
  0x3368f7189cfdfbc5,0x42117dfccbfff685,0xf2cb7dfa8036df0a,0xe5f0f0c63d09be96,0x32c3af9b64f3050c,
  0xeb614d8a1e85c1e6,0x80b52b3f9e80044a,0x56e9a19e4bd4a690,0xc2faef3e537b41e8,0x29925e2ff5fdae0e,
  0xc5de15ecac2158e8,0x5ba084f259e7cdde,0xdee953f10033d3be,0x79bd0af0b5085e76,0xa15a9c7c2963bf6f,
  0xd66c2135bef1713d,0x72abfff5e5774b7f,0xdbbf2e4aa1071e4f,0xd1afbcbb57a07acf,0x9c9a8256d4674f01,
  0x2c19431bf34e5b43,0xbc91f77e41b3d325,0xa7f94bb18cc863bb,0x8104227fb32402d9,0xfddce2bacd04d99a,
  0xb15e18d86066f9ce,0x2389920bc7ecd3a6,0xa39d45acf6ffedba,0x5b270bcc2df9a456,0x748c02fde24c07d9,
  0x8f6d3c2cc3ad4d6a,0x496f75d224b2c773,0x9406d71ddbd0514a,0x4dd724b7af57c50a,0xfc2b2d4f32a94b88,
  0xb2da092f267a0d98,0xd21427a95bae512c,0x015358dba437f81b,0x219073fe9d9d41c0,0x0c3777ccdc331791,
  0x901d25ca102e2586,0x1d9c800a3f07babd,0x517d242be928dd69,0xcc11e0b7daea745d,0x1da97cfc7fe39353,
  0x5a515d61629caabc,0x336b7ef45744c8e7,0x9fd0a25b783f14be,0xa68f8644df0c1587,0x25ee6562a7750b03,
  0x841a46fcae80e4a4,0xea0db37fb0867eed,0x7943358c7e429862,0x00ea8a907fd0caa1,0x9297f4ecde429dbf,
  0x98bbb16c4895790b,0x1ab03f2c2b786060,0x59c6cb2aede4fdc5,0xf58b2ba6ad001872,0x4bd6758be37e0813,
  0x13d7fb79a846c333,0x9d4ae093d3513599,0xb0a61efb3ebc5e3c,0xbfecbb157d91ed7b,0x04ddb49d5787b65e,
  0x84ce5e9716cbaca5,0xb9a319c2f58cdb5d,0x2a7bf27e5aae3b68,0x3c0bc3903b5ee427,0x7be324b97233cfd9,
  0xbe26246cd763de7d,0x88aa45eece1b8422,0x50966d63c0be01bb,0xa32e8c637e964a3f,0x861d387ba59d2993,
  0x2182fd4b6964098c,0xc26eca834b052616,0x0bee57d618faa48b,0x1a1041ea32921c90,0x0016c1d6c70c7c1d,
  0x4739a14ccfb67114,0x5c6e60a01c70d3b1,0xc940857174ba09c1,0xb672b41e69b433f6,0x7aab946a7aec732f,
  0x26ac4df574d84159,0x7fc3e3ddd87bfe27,0xb03b377caec37d00,0x7905475cdf52ff43,0x968d6ec1c422a7bd,
  0xed11e29698f1ca6c,0x32852faec672d999,0x4a112990adee94e5,0x22cfb77a2b7abf2a,0x3b5e4e8a28fe3891,
  0x0d125b9db220d8b7,0xe3a0ecfdf2c84817,0xee1b39ad3d7b8e04,0x187e72c0afb59122,0x7c71df3bfd134ed2,
  0x86751eadf62ffa2b,0xf552290d6464b50b,0xbd87a0f2761c40f2,0x0a97828c262b5345,0xd925381b55a1c54b,
  0x17147d4eee43cefe,0x122e0204e0cbb48a,0x7b8cfa11d001ed2e,0x0faaafea2de7a9ac,0xa006294024747de3,
  0xda29d434cdd7edb2,0x19538320cf8feb77,0x3ea91577d5d237f4,0x06abf17b6627fadf,0x601f03079c55ebbc,
  0x8ef9acb9eb4c036d,0x38856fa6ae95917d,0xada1ec645605005d,0x0bd13946127e75b5,0xc1e9a7da0553b1b5,
  0x13bd1029393bb124,0x826d195bac5082f0,0xb46e22896bdbc538,0xa8ab33a26088be69,0x88fe707c23e1f40c,
  0x15df695dfe08e7f0,0xcaaf1315a59ba89d,0x9407bda04515883d,0x14cf547adfde9464,0xf4c74ce0d4f191ba,
  0x9d06288031bd488b,0xfdc72dc43d99bd7e,0x5ff0aadca044a648,0xda7389419100543e,0x050a120779a24dda,
  0x016542007dcef244,0x65be8d2a8ef5d0be,0xdb1be2ffba9d63b2,0xc1b99f4860c0e38a,0x7a209f1e21cbb27f,
  0x937ef7dea9fa9b5f,0x89cae884e8c77634,0xec53a4664809b7d0,0x87800d6089146a26,0x645605dacd92e89b,
  0x96766ef7ff829adb,0xe3757e7eecfb7519,0x5ad952da7f30914e,0xdbde0516f3d08070,0x0a23e308030c2ce0,
  0xd52288d92e504e1c,0xd6bfd2053074f57c,0xa1b8ba7a2092c742,0x804c2061498b50c3,0xd5fc3709a998aa6a,
  0x28f4569bb25c5c2f,0xa9613171760cfa54,0x6c445ac8afe39352,0x59757f39542d49d3,0x2efc8af046dae546,
  0x5bc80e43f069f403,0x8f838b67e35beff9,0x19337a83f9271691,0x541ca4065e8e5386,0xe2f240470732f235,
  0x08231cdd4ae89596,0x9985d2f70d0052fc,0x6e04695bbbe23206,0xea328f17b5980d7e,0x3c1d0fa90d86f6c8,
  0x8812c54a955154b6,0x5b15863dd6fd055b,0x527bc83404666948,0xf00dc07d2d18b650,0x3e6854b7ce6f6de0,
  0xcdb05cac1f73c8a2,0x8b7418be2f571cdf,0x1a374e7df80a0c15,0x0e466a7172149214,0x4f96d2526a945a44,
  0x8fd951369a5414f2,0x92fc5a68f12be632,0x4722d6dd0b290812,0x98147497c594ee53,0x862353a095893f50,
  0x28e6d8f43d7f1013,0xf5ba7e5b934192e6,0xe25354cf7791383e,0xb30d8dc3b5d1ba41,0x3cb2ba7f37cd0e1a,
  0x72f39bd9b4bf22cb,0x6b9746e350f45365,0x68dafc49a0e59bcf,0x4150a5b60e0b0b63,0xdeeb0856f1d29ed4,
  0x43d22d795e6fd696,0xa76315bab23268df,0xe516db3b4ae13931,0xeefa5a57858f408e,0xabfc3652eefe199c,
  0xbd1591d93447f454,0x2d750061afb49de8,0x131add23f1c38751,0xed461d7c54f9ed63,0x856459e6d1a35cf6,
  0x4d7a2999cc8304fe,0x0d85b4f54d87bfbb,0x8131963e6c834547,0xb8e2a35c41049074,0xb98ee3c78fb3ca58,
  0xd29def732070273f,0xd180d71521edf0ef,0x4773b3a68521097f,0x70856b52b2972736,0x5529895d182ea7bd,
  0x4bd4cdeb5700cadd,0x38d14398f7d33ed8,0x46a46a3f323a732a,0xcc5bd51ff736f20e,0x084d311a345bd2ce,
  0x725b8aace795e677,0x4a3237a5ce813180,0x5f5846e57e5b8989,0xebcd29cdd26d9ba9,0x28106240f136a3df,
  0x89a2abd57ef40d6d,0x44136dbf487d173b,0x4fccf7fd067e6697,0xe9e93a6ec432a217,0x3546c0ded4ff027c,
  0x60c0b2d2bfada165,0x75e10a84d135e841,0x99c86ea79a82c392,0x8e5f3df8d22a624d,0x7bb41b6efba170b5,
  0xc138f00a97d6a9da,0x1b56482b2079493c,0x667b35a1d48f08e5,0x0e78fe10f13996d4,0x7e75cb887748725f,
  0x196f2a129f9de850,0xeadf130abaf6114c,0xbaf6997cfa686f9b,0x625cda16a2d4e0b7,0xda62f7c41552bac3,
  0xdf38c769309a9d5c,0x74bb9cad0492aa78,0x0277eeb77055a881,0x0978f7497a6cf9f4,0xcc6acd5cc21d8f37,
  0x9457c355569ad729,0x4170514be82a49af,0xa0527c946f133223,0x083e58bdfa7425f4,0xab8f0de5a0bbe3d9,
  0x9b41ef9d1b2562b2,0xd412fd74f71089cc,0x80c345b5bfb82b74,0xca243f88a1591bb3,0x38935836295306fb,
  0x5210301ef376fe8b,0x68aa299402e522f1,0x9bf4ed2dc5ac1862,0x1584b60a9bd5f0b1,0xd74c446ab7850811,
  0xe5ff408536302930,0xac23ad58e7a69286,0x5e51715a3d355606,0x31c0ba89c670af79,0xd7db4ac7d98162c6,
  0x2da91384436637ec,0x760a44663e05e961,0x6184e54e61899d9b,0x970324ff9317012c,0xa2d57f86a9ac665a,
  0x90f8b7f7dfbfbd61,0xf3ccc1186a1f2fd4,0x32d546fd1490d410,0x22cc8e044db0dbfc,0x41348a06e452f5f9,
  0xd24427f0f2894a77,0xfb37168ea4dfbc34,0xb732e1acf53b9875,0x4208873e6beb51e3,0xc32bcbbffd57f50c,
  0xe295471a7ce9d334,0x2915d7567e196830,0xc36be78c78dcbf1f,0x9d75eec43cdb103d,0x6b5edba004788cc1,
  0xdf7905a8b936b13a,0xa22963c7f6abfd5c,0xe4beb87b031745c2,0x80e98297caf883f4,0xe29e92fcdbcee30a,
  0x3d48c593dda31911,0xf5ca7e8600dab274,0x0489a1e2f8aa48bc,0xdbda3ff20c35a395,0x0d196ad273e5f727,
  0xf078da7f9fb68546,0x0b58c4adaad23ff2,0x12498100e408689d,0x6444e9d9727880a7,0x9560c503c2e2ef63,
  0xebd04de170d2ee66,0x970fdc9f4ff8cd03,0x4cfbde8ef2a0b1b0,0xdd7fdaca91e0fbe0,0x27204166693dd190,
  0x16afa6522351a639,0x0d392754f107b179,0xcca861e2c86e77f9,0xaf3fb31986a83604,0x6ca87f968185b1d2,
  0x0dbb84c3d4ab7165,0x87a05b306f19969c,0x3c421f82e974376d,0x7664f4150ec87902,0x9f79586555953aeb,
  0xa86659329a8fc9fa,0xe79b82e346a7a0dd,0x55abcaefee74a17c,0xc10311ad3754ac77,0xedacc93d2f882f64,
  0xa5ad047e34c5f949,0x86a235fc64b53000,0x04f0a7110d841544,0xda1488a9d90dbc1b,0xa3ad51edcf6d7e94,
  0xfd844205d91b2fc8,0xb2bb111df471b11e,0x53471f69da620d9c,0x53e7c7be13e13801,0x4574fbef3bf00168,
  0xc2286784e9012164,0x3af7fcf3879bfa27,0x23e86a8b3c29835e,0xd662cec83055c4a2,0x636382da8cf1f8d1,
  0x636df1d7b4f8b507,0xa812f85a8e3ce7be,0x839f985814304a00,0x7b5db593c3950a57,0xd6a99ac65fbf83cc,
  0x9684d78015d3ac05,0x5d7bd973eb04a52e,0x7c879c69a5ec7915,0xdbf8ccd176375665,0x2ea942e4c4de7b0e,
  0x36cec4468047e7cc,0xe696ccb6ca5b55ee,0xbb3274e9cbff35e7,0xca2b4a65a6d1a795,0x2a6a889cb0ba1597,
  0x52f29a7608a55ab2,0x0115a5f0af2f1910,0x8118fe289bcd6f4f,0x1c15d82697eb1e07,0x525cece6c554f16e,
  0xb8ed89b3456acc9e,0x846d11520a63e067,0x2227a59f9a50724a,0x15937fcd295a8e5a,0xc2322575abed2460,
  0xbe27bfce917f3c02,0x33763ae32d2dfd34,0xc83cc43903ff2829,0x90b3eb274cf40521,0xc40f1743190467b5,
  0xbf44575d760ff519,0xd5c3c95f21af3937,0x8b74cfa99754630f,0xeb4ce4b7e147f6a4,0xbc4d05e034c9e5fe,
  0x5fb9aea50c586256,0x35e4b62ff8d3f6a5,0xf89520a1710ed9d3,0x978c90de23b80e21,0x12c778dfe4092953,
  0x8adaa0c0406bca74,0x7a682a1bfe8aa0c2,0x2b233848b6587f8e,0xcccf93de9770f8b6,0xe92d385b0bba1660,
  0x8ab0a08cf6641aa8,0xee2dc345a311942b,0xc566816cde0c0b3f,0xe97d5f44f9594742,0xcc3359ffc450dc4f,
  0x040342c6d27864eb,0xf4d86f70d6e6c16b,0x79f05671e05ad69b,0x5e1b27f539f930e1,0xb3347ad659cee8c3,
  0x5433b89f568536e7,0x432339d9a410ee7e,0xbde24e5279b107f1,0x31585ce4372b4710,0xe568fa35919cb76b,
  0xee9a15817ed129f0,0xf3c781d34b49db0d,0x17b6f121ddc76322,0x1fdbff9c97ac6eaf,0xd234de088d6e1c98,
  0xb491aec113fa4f35,0xe548a218ef5b7226,0xe52ba5d9edbbe1d1,0x6448fd424ccd7423,0xc487a1ec105d4c8e,
  0xefd9629ca06e9578,0x0d69609bc2215e0a,0xb5e0b630e3337866,0xd1e49ed53ab907c6,0x292afc59d52ed568,
  0x52d25641f6fe9ae1,0xa7641086ad55f80a,0x6a7ba4229880b7ac,0x5f7de8084d8e8501,0x7a1031a5008b2474,
  0x5889b184a2f11f2f,0x859166f67ef80e8a,0x434d2693d7ec1b28,0x7d6ccd6f101cf585,0x26bd004ce83ea41b,
  0xded4caa8f9bc77c4,0x428ef9fb20bcce8a,0x55a6711e7332f8fd,0xed473573e9ae640e,0x00d465703e7ec447,
  0x150cdbb6708ff1f9,0xc053f3ddd495c244,0x2036f1169805c0a5,0x76c6d3305407a54d,0x401ec9aad2bd927c,
  0x7cfbc8b3d54076cb,0x3bfce22e770b7278,0xab1dfb5c3d6752d0,0xfd1e4bf31b607666,0xc15f1201340fbc14,
  0x11ed4d85a61c610e,0xd3cca3a6da5d2134,0xe3a16df4becea5f2,0xf0b35c29cfdf9396,0xeb9fdedbdcf98f67,
  0xc358eee45ffd753f,0xd840af01d5b0ddcb,0xc222f8a4e7638528,0x66eb34f2baddeb71,0x82a84b78a2a611f6,
  0x1b5d671f1b8f29f5,0xdf0298fc15e60d9c,0x846d07a75c34cc78,0x67f1b6719bb9bd75,0xec6291925c662bee,
  0x95de6cc14b41a28f,0x4b3311618f2e2035,0x81c6465fdf82d838,0x4859b39c8b8cafb9,0x92189bc1be7ccb7a,
  0x56073cb9ff7efa15,0xd59992c347e9c8b2,0x53e7e66008745fad,0x98d574865b5c2e9e,0xd74f5bfde2f1a28e,
  0x28d5e84aa60f0a33,0xa67b59861088eb1d,0xc4bee47751f4696f,0x592e16669a5e5ebe,0xa780e7ba428325cb,
  0x89214adafb346bf6,0xcaa0818b57183b57,0xa8601870cdd99741,0x042eff5dc05339eb,0xa63ac7ed3171e58e,
  0xbdb39e8f2686bb60,0x3d19d0c850c2c1f5,0x5186155512ed7b0e,0x0f39f29e8d39d469,0x062ad62b8ddcfd13,
  0xdb63269e2ac8e677,0x02bbc80f8da50c60,0x94627afb200c43a9,0xe24f443e2bb280ce,0x88f7b11a24d6c445,
  0xc78a55100ba8c203,0xf275cdb77ae0fdc8,0xad4c680060082b36,0x53ff94188708330a,0xd8dad7c6e0eea025,
  0xe1e668f593688a01,0x00e57b46cd7d761a,0x054996df3d96bfd4,0x052d5357668f5772,0xb9f566d948d6d483,
  0x9c2e41a2f3a54f9f,0x09f59fb444a62111,0xe9f043756a91c17d,0x6654de74de12aaf7,0x17686f13c34ec4c2,
  0x5223a63e24d1aded,0x0249bfdc2dd8a5bc,0xcc74ab0e281e66bf,0xfb06697ebcbea436,0x6bb8b0bb1f8b44c2,
  0x77979ab6312db448,0x6cea5fb6ec3c67d3,0xb5165ce8586cb9ae,0xd2c9180ba0f71cbb,0xda9c2a5cf014434e,
  0xc1a5343cce0f8ab8,0xedfb3e6c7105a121,0xc4e6ba748a095626,0x7bbd6da54e8477c6,0xfa8bffad5d4efb2a,
  0xdc2fa76081f672b4,0x2eac50c045eb57c1,0x2bf495e9dc202345,0x8e5f7df9a44fa08e,0x03efd54889495478,
  0x4fa66daf3159bb9f,0x1934397c21839d31,0xd66a5da701981766,0x3c11e51b236614d8,0x0b1d2932244e4dd5,
  0x03e673fed2360f10,0x328d5ea2dff84645,0x9570782284aa82c4,0x79e19e42c9eae4de,0xe4b82c10e14af918,
  0xa900e4b2a03c58e5,0x497025a1df587b0e,0xc63f73ddbea9fa11,0xd2371ba344a22b44,0xe1fef864a50f3fea,
  0x017d09530e51fd0e,0xcc92ebb86622cef7,0xa80d6ee5a2e7de27,0x0d7b4f3fb1617500,0x13d5f26c45dafd73,
  0x70fb7c6319f9f71f,0x5b8a2cfe22b63387,0xcb7b9e6f06cbeae1,0x83e259f18a34b547,0x81ee960260b4b867,
  0x5daeb8e9a62378ee,0x7777c65c5e71536e,0xd7d7e8835ba326b4,0x22215c844a8c2d39,0x0bda84ee7f0c91d6,
  0x9cd5269ff72997d3,0xac3fd7b2648dddf2,0xbcaf4582e1555912,0x160e7af6bce9af12,0xe7a467496c8277d4,
  0x9fd6892603a7d070,0xfb299973f47c5f7f,0x9df5a295fa5c3bf8,0xdaa19820156a47fc,0x9ff71fb1472a311b,
  0x5dca9bcce1095015,0x65e34d89d60ae3e3,0x60d08c246f6beb6a,0x68850c874dfc8924,0x37a57b0bfe5c53f1,
  0x9e8ce101088edf45,0x634626ce0b5dda55,0xec2d8659655f2e03,0x2b0d082a8644ff1d,0x4a18b5e01dae8ba2,
  0x7d8e2bb56dacea8d,0xa2531467cef72475,0x21be1b643e793705,0x26eb719a7e568386,0x0ed270596c07c9f8,
  0xc3dfb00dc27308f7,0x6c3a6dadbc43e250,0x0300123cb124bc26,0xc5704ad0d732d92e,0x88106475de98d357,
  0xb9b799003d96b1ee,0x0bed0e9c86f178ab,0x859bdcfafc5b87ab,0x391d822989716355,0xcdadf5fb10fbffcd,
  0xc23b3fc66aece9fa,0x93ce94d968d2c9cb,0xaae72c45366c3e62,0xd34c1d30f1d2cde5,0xcc1e4463172bafc2,
  0x87645d2607d6bd75,0x63ab64cd3144e3f0,0xdcdc8d41c72aaec7,0x5f2d18e6ba169312,0x84e33acb1b1d7fb7,
  0xf41101d6d61d5c6d,0x2357852790323f2d,0x3df3c073a1ea06a7,0x5872c6e208137acd,0xa9b1715123cb9685,
  0x95ba3e5b03d96abf,0x1df4939f626713c3,0xe76f673da1d88332,0x1448dc9ab20e0f98,0xe1de96d60ce0a23c,
  0x9a0f8926e33678f0,0x6952d95f2c585339,0xee41419ed8248a41,0x4bc70171e9cd2370,0x5106aa16440cedd1,
  0x0018db7fbd721d26,0xebd5374b2499523d,0x210e90f4825ed67d,0x53096d36fc1b7a49,0xaaf9dbd2910be81a,
  0x7661bdfa178e7dc5,0xd082a38ed7bc3b30,0xffe0ba2f534c4f46,0x40074741a8681cec,0x81b05c5eb77cf0e1,
  0x42842a610ef58780,0xb81fde2b8df16fc1,0x452d19f67bc2b7ee,0x709fb44365a23926,0xe7be476b04c6eead,
  0x7a46fce700c10eb0,0x5f5bd3367971dce7,0x82baa0d62093be50,0xc874e024bd94eb1e,0xa76fa4aacca91e65,
  0x28d8eacd2fa7d37b,0x640b6a0a85155596,0x6a3469464458f368,0x910f72c41fd8bbbe,0x08f96df86780a042,
  0x35a72e66d9d05e83,0x33aee694f59b3f15,0x06493576e9101ebd,0xbbf657d386218289,0x9c37021bdcabf6df,
  0xa29d77af4931bed6,0x7643f4658b798ee4,0x2ed2a07de62aa979,0x92ccf083475102ee,0x302e664afd4c851f,
  0x991138e55bf7dc39,0x7350a7afd79a0241,0x48248581a0edc6eb,0x9455d4125a90a3b1,0x10dd3544493e0782,
  0x9bba455be5a4c7df,0xc087e8c86cefb41d,0x4aaccba439c03152,0xd2be3b949b4e579d,0xff325f172284384b,
  0x9d1f0b8ec84f80b0,0xd3123d31c6811f64,0x19d02a862808705e,0x2a4d546ed116e991,0x2299cb2634cd47ec,
  0x249f3e4578d13c3b,0x0f3245f74efc0a54,0x8a5c598c9370486b,0xcf702d7ba4c67e51,0x1c68bea98a798789,
  0xb193821c58f9a6ea,0xf96e818f895bf0a5,0x84a3813413679833,0x9dd4958509b1ebe1,0xb37e76cca1f41109,
  0x51c5bf4a406861d8,0xf44fa4028906575f,0x91db10d661f43f82,0xee6629d9b30920e3,0xd566d3ff930ff560,
  0x26e997fca34c251d,0x4573c19b36dd33e8,0x454a1cdb1ecfbe7b,0x3a656f6ae2be9450,0x8eceafeb3b6ab16b,
  0x7df76e289940efd2,0xd499130607b526b3,0xf0e4aa1368c0d3ae,0x2f170e64ff4cb691,0x460af7c2eff1a0d3,
  0x18c2099861db272f,0x2fbaeafd70a529c5,0x9e38c33bdc518aba,0xc40b8938c0639cc7,0x2a0bdc21a57cb184,
  0x364c606da1ccdfee,0xb92475127fad5d04,0xd06ca38736b7ed93,0xb9c0e32e9144da2b,0x88533e61148e229a,
  0x271dbf311209941e,0x118d3dec013e5957,0x9cfd998c54de6e73,0x44a1b8415b245f18,0x5cdd59455355cea4,
  0x5b7a8eb084ba0ba5,0x5bb1bdb25948d539,0x25cc9ef26aab8689,0x59cc5662bdcc065f,0x4fa75f1109ac5baa,
  0xd81985977a6bfede,0x76b97a72fdd29afd,0xb7240f20ac5eb906,0x43457f921828cbe6,0x14c7d8497a6abf7c,
  0xa44d15f400342ee4,0x4bee6e15ea6ee526,0x31d9a391df9762af,0x07b5f39d0bebbec5,0x4c92a01fbe6e9cc1,
  0x0f883567ed362dac,0x451d107b7d64f28d,0xbdd5e526b2f0bdc8,0x0cf16671ecef99b5,0x89d816342d9121d3,
  0x197d4f719c63b2ec,0xc713656df18b2c59,0x61dc28f400e3f2a9,0x0285ef224db736d1,0xaf7bea7f2ab080db,
  0xc40fb6a27fee0155,0x2956c3c3fef71fd6,0xa05fe18a74a62381,0x21e45e8048100e1c,0xe9441624b6de41aa,
  0xacefb14e9d5ae185,0xe6ed91d4ad6d2009,0xe20b6e3bfa63b345,0x8a20b24b9e72a3c1,0x60ff10afb602c455,
  0xa1e6831bea947cc7,0xcc3fe6898d35639d,0xc97063b125b8ce45,0xea35139b02024960,0x05be1a1ba82a5625,
  0x636462a142d57ca0,0x9d7fcc9794d8d518,0xfbfc423177ff2c71,0x4b03b472733ed282,0x24083cc4b7786e79,
  0xc78526cd69a6d600,0xbc529c3b2e2ee6f3,0x76e5fdddc78a3dc2,0x2a82ec7769b183d8,0x83ceba7a53bc3adf,
  0x8bbff17ac323abf3,0x02c9d8ad281c2fff,0xf6c568117412bd0e,0x0ee603de88e17dca,0x840e1a6e12a83da4,
  0x9d21c49c41072ace,0xb3758a4a6f279efc,0x6fda4c9f11b8223d,0x9a48456f1a91a93f,0xf2506bf68bc0ef03,
  0x4ea22f202f805bc3,0xbfa0f2633d2b4ea8,0xaa67e7c3d6af73bc,0xae92bb3812840a80,0xc5e38bab21909f5d,
  0x69680d3ac9d2869b,0x10a10aca726964fc,0xeda48c69b10be86b,0xfe1c08c40c679516,0x3ee057825c588111,
  0xa390606901a72872,0xc7178cb8d03190b9,0xde54cbaa568705fe,0xb4857456ea971563,0x4b6e331fb604d6af,
  0x64ad639161756344,0x81fd41bbcefc3bc6,0x0e78959bbf9d3c03,0x6eee34a9cbc63b2c,0xb5d164ac0bd086fb,
  0xe421c93439ac802e,0x50ffe7ef3dea15c5,0x988ad65d54a1abfd,0x14d4bbd0ea66670c,0xd08403e286d0eaf9,
  0x9dab1c966109a0fc,0x12d4fc3d0f96408a,0x02f1e10b67308ac0,0x32efcc1dff6ac549,0x51c9548471adccde,
  0x8054c057b457a6b4,0xcd023cc04defa89d,0xcf5ac08d96942d43,0x9309ed4fc5abc362,0x6e2171b8f0e46797,
  0x70b811ab949fd5fb,0x07f4f60e2a31674f,0x63c755f248cb9b6c,0xfd2bea84d6ba46a7,0x934b9b4c5d554d5e,
  0x7d036ddce3effaa5,0xf2d725dfbd335dbb,0xe4e1d9bac139c5e7,0xdf1f0283945ea7e8,0x0d1c01c3c76daca7,
  0x6ef34ca9958a8340,0x01877c3c699e6e73,0xf8a70ed27d1219e2,0xecaed89df22803b4,0x786bbe17a0e79817,
  0x22b3067f72aed095,0x85090d8bacedc34c,0x68c1df4d2d158f53,0x1c8476e3e366b071,0x482fdffc1f110c30,
  0x824b3e9323530e55,0x2e525704b4ceb3d9,0x102783760b4b0161,0xc0392704d08e5f7f,0x8362e4b86e07554f,
  0x8d622c212d6d7cd2,0x00ab16fe4a5810dd,0x1d3d3702d7ca4f1b,0x860f03d9cb4e4a8e,0xa655e458f8c6fc57,
  0x0af85391d93a7e52,0xfc6d95fc7a0e64a8,0xcf3b64e45d67ac6b,0xcdb499732ca8a7fe,0xc94587c32500375e,
  0x5fd06076c454ed63,0x5259e10d41f72be9,0xa798de04acef3aa9,0x3eef29378c1f3392,0x480fcc56169c9263,
  0xfbe26dbe6ca25489,0xdb7ff1db6e6a7245,0xbc28145b850c0e06,0x4bce2face7d75adb,0x853b5008f44d7fa7,
  0x4d2dad60d4a56c76,0xf84418ed878fa37a,0x8597fadb0683980f,0x04b300ed6c909a08,0x305bd87195f6990c,
  0x29b8b8ddbc2ac1a9,0x8e4f19bfdf25dae3,0x746e15892e08649e,0xbb7fdf747cdd5ebd,0xc5e48d320ad72c30,
  0x40956bf5de521df9,0x36e052d226b17d9c,0x9c5c713fe08dbb09,0x3e632bf7bdd2089e,0xb3057c8d11884ca6,
  0xbce2c1312f7f8219,0x5a0ced18534be2d2,0x5b26b25bb5914f3f,0xb01fb606782cff2b,0xa20bee36f9686e55,
  0xa27140460fd5f043,0x5d632e11c8e9e788,0xd61dee7c1137491a,0x919f01bc8ca3110c,0x259e3e8acb2bd178,
  0x66d6894f5f7a18b7,0x1fe720fe43ee149a,0x3c9edb668b0efb32,0x7e3fbb0f0d0b67cb,0x2699dba16d3b10e6,
  0xb11b8d2f7db99b66,0xcd2e5a3b3a0118dc,0x9d20f60e6f915b18,0x44011a367f94ff85,0xa1a55c77c743ccd3,
  0x93aa315cf7beec2b,0xc9f0cb7512c74ad9,0xcf50ac30b91854bd,0x3c29c58ecf7ef35c,0x0844f8551e2d5f9b,
  0x03a36ed046474b73,0x67e11787c20a0f66,0xc135d029800bdfa3,0x5f351bf777e3de57,0x80e8a1a32c9e76f3,
  0xfe976af6c52ef46e,0x8dc778bdce78387a,0x6fedb87a46b76e04,0x33ccd0df2829a4b2,0x2b2765b1f0e45d67,
  0x0baff4eda9b66b2e,0xb0cd953091a05be3,0xcf3ec9399900dea3,0x64a63d71736d702b,0x81581175ed89d504,
  0xa166cdec6b485772,0x6c70b25343e47f24,0xafec27e3f446171b,0x2e17e2b2ed05a7db,0x16684ae595ece337,
  0xd125a59728912b25,0x4ec9ea2ff791d159,0x4587fcc790a7a795,0xf0af1864bbaac0df,0x0f094c2404bf01f0,
  0x184ebae7c7ecec47,0xb6d6e96b60e733ce,0xa6f31b70f19d60e6,0x1e31593400458c1c,0xef421d76f98f0413,
  0x9c968d1b4fa4ed7c,0xc70aa998b0df04b4,0x13866ba2e48c014e,0x0ee0f45c8967acfa
};

const uint64_t T_2[1024] = {
  0x9f25c93659269f97,0x469a6997b5ff4c2e,0x725c1bedf474a658,0xfb2ce44268d944ce,0xd77c8260beb396e9,
  0x5495f5270480d1e2,0xd76ccf41b1567ea4,0x959d35c8814b0328,0xd36da997bf4bc0a2,0x974badfae422d584,
  0x23acfe5561bc99cf,0x8b3a191f4a5783c1,0xcce3c8b27358d741,0xfe7f5d50f05591ff,0xae9c09995d8e0875,
  0x790974e90f988a79,0x3526f760b31a7458,0x4df767dbd41f6f80,0xc9bbf493cf7e7643,0xb1c3a8de37e5d4a8,
  0x61d1d8c761312930,0x5487539964e05b5c,0xe844c6ac1bc2b80a,0xacee982f7beb9acc,0x4b92b05820d5d35c,
  0xef53a7bf65c70971,0x6ba90270063c2a94,0x0a6978e9ed8b4915,0xe1f8337ff235411a,0xcf09f8f236e74015,
  0xd7cd555bb9d91efb,0x6f46ce9d27077212,0x95ca02e1f414b1d2,0x69b95979d875304e,0x16eba9b89a4e111a,
  0xa943612c1f636d21,0x9c6f9dacce86ca88,0x9a98863aa3f7d9e5,0x651f73a4b7a8ead9,0xdb163926d4337e0f,
  0xa575c0b79ef4b448,0x297bdce464d82a8b,0xf2f1c95c4c07f743,0xc6c5fc7ea63737d8,0xeb92ddc2d9f52a66,
  0x5beb94f59e7e62a5,0x2b20978521a21a85,0x45322dab57ceaca4,0x726aa11f277fa01c,0x7fb7e9fa1d9023d5,
  0x0985ca85fc943ef1,0x8afd28d0a771cdaa,0x33ddc11710a90379,0xe0219418a6d93368,0x272013608bfaf485,
  0xfecdd73f55ecbb33,0x9a7eb74e06bcc99b,0xf9b9947157379212,0x8bb265fb8bca3a3d,0xd6f455bcfadfd47a,
  0x01f98989a65a88af,0xf1a4b11c425ff623,0x367c940ab5c6b7ad,0xbc7a63f103e8e04a,0xb3c38876c1d5c360,
  0x27f2c7e1e14ed70c,0x86f738d4546e1172,0x4ca5a01bfbd91ffb,0x457e7137dbcb6205,0x1837eb0e86bd5014,
  0x7f985b675e156a1a,0xf1a7f4fcbd88e51d,0x388b18c55848feb5,0x1dfb97298eb5247e,0x87adbeb82acd4d58,
  0x33c482d1db18e2e1,0xb59c9c8e97b4156b,0x7a18f1e2c8db83b3,0x2f5fc6a5a476e517,0x5354899ef2c97ded,
  0x67b368c03da5b5ee,0xb470e96bb84eb5b3,0x4bbf4dd2a3716207,0x09b8ec6ae5cd38d5,0x2b822b0171a08ac3,
  0xaf134dd4e5614746,0x067f2f506058a464,0xe885d0651dd51f62,0x1b91e3002c3efedc,0x825cbd0bb3db6f51,
  0xb409e164fdc78ca8,0x110b84367158e70c,0x535c3f42852d1940,0x50700e4569323116,0xd257f8c1223afd26,
  0x11d26a4b6b7d3318,0x8184498e765d6c1b,0xb1998fc8ebc57981,0xfdb970efce3b25e9,0x6d7fb3734218d462,
  0xe8ba2a49f6c6612b,0x2c121c3598b758f8,0x6dce227a8391d4f4,0x1c2e5550801e009b,0x743ad04e4082f352,
  0xb02d37d2d14fc342,0x1662502c0031e896,0xf668af0dce901719,0xe34ab6a0b3796d39,0x44baacd2b6edaff4,
  0x9e435996406045e6,0x101d0bd9647a19e8,0xb2544d395bb8b2b1,0xd8c20aab0ce9298c,0x654076db00cdd1f7,
  0xaac6a221a9390fff,0x46a39f374b7bfa6e,0x8c78399f70410fc4,0x27ad3eb15aa51dd7,0x0625506164f15b61,
  0xed144fd61d098701,0x40dcd9d07362c033,0xfec5b22f117e73d3,0x77b5116b6dc5ffc2,0x1f5b810dc59fa335,
  0xa2695e712e1a70d8,0x6758d36e4e44312b,0xf191d6007bebc613,0xf626625342649c2f,0x87dd7b602088c3cf,
  0x474a5583af755cbc,0xcc8dcac23afaec23,0x4edc08c62540aefe,0x700c71d0afa85129,0x5ab2ca8dcfded268,
  0x9003505878258f28,0xa80f88809f8e1aa1,0x615afd82d8dd6eef,0x0198ab4b72a54071,0xf7f7a8dd6155c810,
  0x2089a370fb1f9189,0x1865b6e6e5c0acf7,0xd72194d1e85cf82e,0x983c941e0df7fc0d,0x01e36a04b453db2b,
  0xb8b5b5bb83ad3d9c,0xabcb8799cd2b5181,0x7f041fdf229c9a53,0x9f70c6887a0f2e24,0x4a459448ecc78509,
  0x327833986eb69131,0x04c452d9dba90cfd,0xa2135c90c93944cb,0x8f32159f57d1143f,0xa000263b06ab68eb,
  0xdde5692b54572b8f,0x31b7320c2fe43358,0xd85cd54247c0c841,0x53b9df0c606a683f,0xd4253c5b96680d8a,
  0x2e544638b5aa704c,0x74156805fa6b8c0f,0x744232f819d3bf6a,0x359162ed434ffe0e,0xc8e2524a132d0497,
  0xa36a48c519a298c1,0x6693817c11dfba56,0x51acb13815eb7dae,0xed47940757227e88,0x004636ed8f1190d7,
  0x74a7d17ba0cc441f,0xe4f95403eb79879a,0xc8a49bb5bdaa8944,0x42dd99cb6933540c,0xe161f4d71621e174,
  0x27ff84b1ad3bb56f,0x916a0f825e941d87,0xbd9e68d0b6e3898b,0xc654a00ce29c511f,0xa6b934113df7ebe0,
  0xb74d54f5f84fe341,0xcf094b0763376157,0xec80b3df4bfd6a31,0x5b5b656f02fcb547,0xae0842bb2b7ed1ae,
  0xbabd1a55506ccc90,0x671789abb15e5e2e,0x2d594aefdefc2289,0x609b0faa3d6b35e5,0x36e679cd372d10b5,
  0x208cab8851f4ff65,0x538ec183272c39c7,0x268821602d7f1eca,0x6313fbb9b896b968,0xb95c60079c2341a5,
  0x1043ef19ffc40dcb,0xda63d0a0d599ae9e,0x6978f08da1338460,0x6837ac8b7c60c55d,0x2a1f4b7d005a1d21,
  0xf588262b1a29b0c0,0x485d360166217700,0xf3692aca0ba4b1b3,0xe61ec7f6c41ae6ba,0xd92b6659c055a2c1,
  0xd269c94577fd4a8c,0x7987a5ebdd15ef9e,0xba64f3302072eb40,0xe36fb0449ba088c6,0x0d9df7dc42e0e632,
  0xd05b62a8e57bda8c,0x50705c5b6da552d7,0xc563374d2b2523df,0xb6cd3e434b0397a6,0xbd3017499b1b72fe,
  0x4e0940898c68853e,0xb50d1bd05abe1a3e,0xd6330293d122c0b4,0x2327030d5f6e6cc7,0xba2d19efce9d7f8b,
  0xca9c75860ba7520b,0xf2186019b1222b49,0x870c45a56792732c,0x54b106cdaca7383d,0x6aeabb79f28e069f,
  0x9e2cb9e723a4d945,0x1663e5cfb5a7f098,0x7d5d8f50a1017dd1,0x48ff3d1cd3f1fa02,0x2c325d5daa4b1f72,
  0x45ac8f4c205cdac5,0x5e6cf2503fedd4d1,0xe543b1f72d931357,0xec38ab792dc85861,0x8d9614fa98829978,
  0xcf8e71d66f4dcf9d,0x0019412dcdbd3cad,0x320efae66c47b5d4,0xd68e36fdb580f2bd,0x94ace8a72840e5c9,
  0x784807e630efb5ae,0xa2ac4618422ded7d,0xebfdf2d3699ccef7,0xb8d6f539951ad792,0x7f82675bbf76aa40,
  0x9e55ecbfb3f45728,0x54cf46626300e4da,0xa59c39b281f8cf58,0x52879c315a186331,0x486e584c2a36c42b,
  0x443d8efac6ffd02f,0x41c3b59d46fb47fe,0x80efd9c17781bb34,0x3629b8a5bf83789c,0x97518e87737a40a9,
  0x510a74a54bebb9c0,0xd9d997379932c11b,0x33b083313fdf8992,0xcb957bb81a16e1a0,0x51657727d434b382,
  0xc84fda1cf0cd5045,0xf94d64bd7450b00f,0x1bedbc8a94f2be02,0x0dcaae0499439985,0x76fea89d5cbce9d7,
  0x523e005a974235df,0x78a4a72af5c3fa5a,0x3c3ad9bdfc820d5b,0x69e8b703c21b7e9c,0xdc636a772f86a28a,
  0x05781d0e94220465,0x94786b3aeb2ac705,0xaf7233ed1934f0f3,0x92de1173684f507e,0x02e9f3ed563ab8af,
  0x944eaffc850c2d2c,0x007f93e01df67a88,0xf9e8c6cabe27e101,0x6c51203accf23667,0x55410b7f690b7b6c,
  0xd93d7fc58821fe9c,0x79ce39677af9f922,0xf63ad9662d6b9271,0x8505ed0d34a7cb61,0x9a0c39b7575327a7,
  0x112346b22b8b089f,0xca592d8b750689ba,0xc333f7b1ef2165f9,0x14e1d9c2231efff6,0xd2ee0a205e251f0e,
  0x3e488cc264dfdabd,0xd4db2c31ac4f96c2,0x0ba7e4d0b62abe3e,0xa59beaf045648a28,0xdba39ca1f93bc4da,
  0xe6e9eba2bd202627,0xd51ebf7138892d28,0xe7ac6a7accf34d0d,0x07547332f7669915,0x9a764dcc684fa77e,
  0x4b2b0bb6a4202bcb,0xab470ed3e0492727,0x25504d35e93bbe7d,0xc6f322de50f70954,0x69a89c5e45cda6a4,
  0x8dbbd33f8f9584a8,0x9c2920099ad7be66,0x41db45d95a1c7e0c,0xf54876f69da65571,0xebcffe854e410b62,
  0x1e6caff1d5441210,0xa6267609064034f2,0x6cc54056d5efd1e5,0x46b1e0a526903e49,0x1f4f329b67b04557,
  0xe6fc04ddb6d1fef2,0x9acb598eed4c193b,0xcf10813653d05fff,0x2cefcbbcc51c71d8,0xaa14f9b3634e2fa1,
  0x8e5860b8a47e1d3c,0x644c7cee5709ef2a,0x407b19dd05ac7faf,0x2e5d002c06e124ea,0xda322214b469ca45,
  0x082bf96402901cb6,0xd47d34c9a658c64f,0x9833aa481bf7f393,0x04aa07750c999699,0xd9ef755f7f6435d4,
  0x86bf822c5903fd27,0x2c8ccdc2ebc5a665,0xc164f8ac22765865,0x1ecaf7ac4058951b,0xd38520088dc65cde,
  0xa100f2be7f7c833e,0x56fcae25d19e782d,0x19a3146eafbbed31,0x1952950d75a76795,0x79e4d80fdc80568a,
  0x2aa56bb3f3b8a614,0x04ce0557fd3ba803,0x972bbf0b9556113e,0xd4ed769e1a6ea644,0xa519054cd3e34ae3,
  0x9526a1d476d9c30c,0x61e709bffca39411,0x1ebd3144fcddd807,0x4eb0d8adb2d27b55,0x939ee938d3a39094,
  0x12565760b0c76ba2,0xe867892ca7d9069c,0xe0ebc284dd7d6db2,0xc06fb3234e4bb017,0x42db252cd3d51f81,
  0x80724e8edfecc065,0x497cc55f77d23c61,0xfaee0c7b3f658b7b,0x0bde063044ffd54a,0xf8e86f7f3fda9da5,
  0x04c0c1c86119b11c,0xf9a35d98d5b2bdce,0xfea1bf45f1ef65b2,0xba0f774b03382c80,0xbb0c65a6d8078101,
  0x2e92b008502c48c9,0x91a733ea57e907e5,0x00ac6a82b72e546e,0x9c9cca530213bffb,0xc7b0c1411da55af9,
  0x5ea40834dfc6e1ba,0x9f0efc9c1576655e,0x98c17b49d999329e,0xed763cc80cf3239f,0x4878268a1db9b3db,
  0x574f17e998656902,0xa40eb2085fc5ff87,0xec697e975a1de925,0x2b63362e703088ab,0x13635cb1b4adbf26,
  0x37b3db5d907aaa77,0x8ec8672409b448ef,0x1e9e12f99cf7e456,0x3a5083226a319083,0xeec6890b13e682d9,
  0x95113454407a46ab,0x7ed6dce2814c8df9,0xff88698682a71fcd,0x6e670636f807ca72,0x441ed738b257b3a3,
  0x180e2e394fbb0c75,0x478c926838fb12ab,0x24f07709a2380c21,0xfd06e66d5ebb3bd3,0x2903a00711942a05,
  0x31481105881894f2,0x428c05c732481ba5,0x3151d269138d59ec,0x309c126fa794595b,0x3e3afe7c8e532ce3,
  0xfe313195545f922a,0x1e9288f1a383a741,0xb39acc453876b702,0x9e422e6542b72b3b,0x43485bb9b70d1c15,
  0xd2056c68a685397c,0x23d2e7b450353d04,0x7ec7ee7324859541,0x90eb6a12b4664084,0x9fe800d73d8d5da4,
  0xbb562add7c0ce242,0x60f23bb0c46d84cb,0x1d79d1643c76fde2,0xd00d89f881a87928,0x81df358029bd77ca,
  0xf176052ca4e6f445,0x9da0febce9866df5,0xc4649cdb9ea6ba97,0x391661a3a5b330ef,0xdebcc23bdd6e3586,
  0xe91aa80a2a31ebf6,0xa80b2981228246c1,0x3961d91c7db3c018,0x05af2bc829c8ae6d,0x5a1baf89d6e66ae4,
  0x1b6ed1e23e7b2763,0x2d7b36ee8afa6a7a,0xe198ffee9412537c,0xe68456ba6ac23445,0xcce686bf9724f077,
  0x3b4559c80eb529cb,0x51e9d2b0e9319987,0xf83cf18c4589e207,0x1dd6ae29e73e8902,0x1ed55656e0bf6c9b,
  0xe9fa042924b36440,0x20f41d7503c28269,0x8edf2742a490e8cf,0xf9ecc57756579334,0x650a6f69a63c5aa3,
  0x7c87349d515b71fa,0x3d5f71119dc47d8c,0x3b4c4158c2e145c9,0xe1203f809efaf827,0xbabd201088cffdc9,
  0x5e86a84e21df3f33,0xbf0c9544ca79db0f,0xc6b4a7d05674b8a5,0xd6ad13da67b28dfe,0x993eee9ccd3de4c6,
  0x5c9dcf23a464a35a,0x1aa1b4a621110399,0xef9f3b3177667ff4,0x48432ec087bc5432,0x2275b8f5da0096d2,
  0x21be7a86b53a1d1c,0xeac23e883a9dc9e6,0x69be007c7228d2ad,0xf2cb4a628a214a18,0xbf51046e53e08d07,
  0x8ed4bbfdd060dc5f,0xcf49b8b816ae3ef2,0xfe5559a325f44d61,0xe4985bdaf09f14fe,0xdfa4590e159d9d29,
  0x43e7fe12d05396f0,0x1c5ced6a246dd256,0x7e89ec709aae3221,0x2362fc9bc420e1e9,0x88a1c5d06dafc794,
  0xea90036e563946bf,0x1ea7ac0739ad4a47,0x932754fba7e7ea9f,0xc4963abe616e7462,0x7a50e583fab9ad29,
  0xba373eda8159c258,0x3bc131364d828f6c,0xc958587e8127d271,0x39826095a88c2fcf,0xdbc20a93b6169550,
  0xb3b05b041b577c14,0x4d82efa0c78a565c,0xf5a7bd49cd837577,0x8074e31f3702722d,0x5e8394ea96707e0f,
  0xea2ad7122fcf9296,0xce838ba4ff7d4dde,0x5f8107f78d6d376f,0x9de527b04bc4a957,0xb040a81504b18a1d,
  0x893beb39b8ef39c6,0x3df8f88e034eefe8,0xad48b58fba1c3cef,0x9cc471c1698af007,0x700f5f327aa7731a,
  0xe15386a1bfe659db,0x072345a523fc6b7b,0x28b7b4ac2006fb51,0xe152c461b6a0f412,0x514e22952c098b24,
  0x56d5b55d07bd0934,0x0983e2c26711bbad,0xed45dfcedfe9ba33,0xf2ce7c2f1a85a65f,0x60f0b29686563208,
  0x9e751518e2387266,0x9769dc9aa138617e,0xa329bee98f09d82a,0x32ad6a3c41035734,0x1da38f6bca8ef9cc,
  0xd8882a47c02adf11,0xccab62a881361949,0xdea4d8099e62dc01,0x39a560296256d461,0xc765f5078360d2cc,
  0x530ce8831c642c7c,0x20058201144ee57b,0x9110ca4a5a144a51,0xbfe6ececd566d0a3,0x2156055d7ac76855,
  0xcf10597387b5689b,0xd66836a492c59634,0x9fb05d4114cde971,0x2c2bbbbc48fb5caf,0x09fbc28ba6768587,
  0xeb413fd549b0a2bf,0x02233db4c37b7bb7,0xe012d21c26d4785e,0x98d51baf371f0e19,0xb3b4c74455697e0a,
  0x4ff7f4e8248e3b43,0xd102adb1cf41a562,0x90580e9b1ec373d7,0xbe7e62a2d85c75eb,0x5460ee899396fc19,
  0x63f8a7efef955f58,0x437a464197c17666,0x9029ad58d7f46121,0xa5c1883855ec1d0e,0xc4a0818abfcad98d,
  0xe31d8a494942041e,0xb1ef48632a3a71d2,0xe5719f46f252d8ef,0x0a8fcdcbefd158cd,0x2b55f588138af6b4,
  0x5d8925881d90178d,0x2a677bfd854020ed,0x6952b1935ac466c5,0x75b1d82ff3663d3b,0xa0368f1d1b3a6b5f,
  0xb1146fbdf25675aa,0x1e699c696fcf1b49,0xd0781181eacf3629,0xace9a60bc9d95a3d,0xb328582d524dda25,
  0x48402d6bdceadb8e,0x51be90ce2e3b2db1,0x6e5fbc33c516f6e6,0xcd0670fff695dfd2,0xbf123b1b1acac05f,
  0x3e03767700d4fc4f,0x7e8824eb104a3bf8,0x8e2425047e73df18,0xcf8837f8edc76edf,0x89799af3711b6276,
  0x0bc47daf0f1ea608,0xe5d468aaa3831d16,0x482a66ac4392b58d,0x96729246e086cad3,0x814cd5b38e1050af,
  0x252644504286df69,0xb5d8f957191a5a30,0x1d140867bfe68531,0x93affcc3a7d94a14,0x40285a1a7e70171c,
  0x02bca35ff5b90e3d,0x11a9027f30e65563,0xca1923b20f870af3,0x7d8435ba1235cffc,0x356eb9e1931f3612,
  0xf18e1090627d206c,0x2da2d18243ae2a18,0x1dac059a0d5878ef,0x5ba614087b04294b,0xb329ec53f380841a,
  0x4d15ed207796759f,0x8aaa29d7c61394fe,0x1409bd95dd5ba900,0x3ed1616231363d35,0x5bd3b92ebaa6c9f7,
  0x41684bca9e12f8ab,0xbf080119db1336ca,0xc957fc5e12466f82,0x9bfaa05724647f42,0x8e89e0decfaf329f,
  0xb52c9047b6b4b4b9,0x0d3c77fba1d0b95d,0xb6c1b26aee6d7821,0xc44edf18a7f45b76,0x395c0e6bda420da2,
  0xf7da4fa82c4622c6,0xbf349cc8dd10bb9d,0xc5ab02cba8e6a37a,0xabede783752cbfdd,0x0a4c2bb71e4bb51b,
  0xcd2fb2e7fcdc520e,0x092ca31223732142,0x88b52874a9bb2b81,0xc49bb7f77a9829c4,0x064f6ba187c96fcc,
  0x666c0f7e894dbf24,0x179ae9c407f82a69,0xfafd4bd0371e85f9,0x6877eb23418079d3,0xac80dc8fa58b9648,
  0xad7ed3a4750407a0,0x502705121ce9c4d7,0x368442f41c572c72,0x45aa94ef246ba36f,0x5353cb62a9111990,
  0x3eafc67ca0c565e8,0xb7f11e054841ffea,0xeeabc21cd94ea95a,0x7605019c7d753d49,0xd04831f28fc21abe,
  0xcf09bd9dd76b13e9,0x169e17d34bfb94c1,0x91772fa2ea1a4a52,0xb3be9373ff4d902b,0xe577dab048cceaa3,
  0x3260eaf449b7c1d2,0x75fd5c5f797c111b,0x61dcd11ed45ed7ec,0x590447120d880b44,0x5811c7811690b34f,
  0x21274da00607c8be,0x65f98372f4e07eb6,0x7a3a09ce9c9bfde6,0xfac87662148b2988,0xd81f74ffd742ced6,
  0x89e52957abcf243b,0x9fc7d314109acf9b,0x2eb73922b240738b,0xa72d97d2113fd2d9,0x0301dc09984a908d,
  0x63939d9036063c95,0x0f32bb40e7918129,0x0f55fed515d50f09,0x939cf82d11599f07,0xfd3bc5740b2e62dd,
  0x98fd2f504921ab8a,0xb7988bb9f3b55dc8,0x2b2473bff1a10ebc,0x17233ecf459eb245,0x8bd0e83d63b7e5c1,
  0xbb7e056e2fbfb805,0xacc477c65bca47e0,0xaeca2aefa8c14474,0xc6e27aabc69d4758,0x836e63a4b34fe84f,
  0xa12a1885cbe698e9,0xe5d5503232a4d6bb,0x321c670757afb07b,0xb6df1c144632deb9,0xf01be9f488a6ffba,
  0xd53bd285f9d00348,0x12d4c91b51edccf3,0xd1bb37f4c34719d1,0xe258f52888517219,0xbb8e0b2d49ade0f2,
  0x44c8676eb4dc30a8,0xf4b4dab637d2325a,0xb67c613fc61a761e,0xa7968827984a6160,0xed2f541104dc9bd0,
  0x4b37209615b3bb28,0x14886d1b701f8051,0xd953a4106c985ff0,0x3fb0bf37a072eceb,0x20defd01649a1d3e,
  0x3296137c297addc8,0x02f1e1997a0f667c,0x5afe42cacb65f0df,0x470211b4128866d3,0xb60fed0b3f19448b,
  0x9008fc31a2759b37,0x45a338545b65ab47,0xa1462cc9198b01e1,0x08dd502eb4859037,0x2a52da15c8571d32,
  0xcca5889e3ca492ab,0xbbb821ab101ce41b,0x1ee43202616d39c0,0x778c07f955b45f06,0x3748bd5d1384a756,
  0x650fc5312d4193bf,0xad8e2195b34ccdfa,0x303f65ce8070038d,0x802a8680c9fc2e76,0x065b1f9f77ac1bea,
  0xd0b180d51b884bab,0xa8f6b6a7ff69ad8d,0x7db015956975e617,0x6b296ce7ccbfc457,0xf4a59aa7f537e07b,
  0x919d1b7ae5c4ad4f,0xad5493dfc503eadd,0x2cc5b19f782e1481,0x7f5c9ad9a3632bb8,0x8816f9cead6851dc,
  0xb894555081840417,0xa09d501ca08fd381,0x370a684e41302ee1,0x3fb83bbdceed1b8a,0x63bc82e2c6fb1aad,
  0xaf34e9fe50456bcd,0x6ca5d93cdbcc52b7,0x55529dd1e8dfef33,0x0cf3cef198e04e2b,0x1991c238d5b6f380,
  0x35b8af51a05d5c79,0x19b9a5b976f1b30f,0x67deecb29539a1b4,0x5df4b4495474d6d5,0xfdba9e0aa2b3c20c,
  0x43ae5014c084f038,0x75639ed5f58b41f4,0xb2f9d36c3e282e40,0x679d3089f4709c7b,0x92a13e917b4a8ee5,
  0x2babc4fd961af85e,0x4f9096bd994ab4fd,0xab63edba65820fc3,0x6ea89306d54cdd4b,0x6c86b979d9c30640,
  0xf4f5c2bb40ab29a1,0xd7c5af9ff2c49db1,0x8809a7f5a136f4ec,0x9b01bcb070167b31,0x3e36db8263e744d5,
  0xa09e380f52409d52,0xbb04142d2c644884,0xa9c3eebaffdc1377,0x958b32dbc6952120,0x4eff1bc86133b9e9,
  0xe6b0f803295197b5,0xc63383116919c64e,0x41688cc49eee87ac,0xa77925261511fcef,0x2897b93307267867,
  0x4da52a1024d3f0f6,0xdf624bf00dbe4b4b,0xa2f934af9ae323a0,0x3d16095ae49e11ec,0x05130ca7918fda7a,
  0xb6aa56af82b8999c,0x27bc6233e7621687,0x4c3b6caee24c8be1,0xa51425d335b1fc6c,0x8b95fc4657585582,
  0x8cf0477d8d74d345,0x8a248eee2f3fb380,0xab1cb973e99334bf,0x0ec05250855bfab3,0x6351e393889278a1,
  0x2634e3cc9b7924d9,0x488e2d08f51bd362,0xa1a17a8b44901c76,0x39546ecfe369e747,0x9d85f09a11ab0046,
  0x28a9797d5bb2330e,0x943894f78cefe51c,0xb599f3efaaf2b1b5,0x22d2adfc78092f3e,0x6e8fcaee67502c0d,
  0x47edb52ec8d481f7,0x848575e1b7c0b743,0xe003374890b3e787,0xd557aad0795ea561,0xb716dcb6c793b2a1,
  0x458259821ccead8e,0x360c5a43c38d08f9,0xa781506f2384e09d,0x7930a1326dedfe2f,0x5c947c06b9df4bad,
  0xf33738fe9f588f81,0x1dee792eced6b62f,0x08e3e4cd2569a990,0x4c3e547b8a5b5313,0xbf4a519ae959100e,
  0x498cc925bf99b455,0x7c94075546c4752c,0x3140d026cfb4623e,0xe41bc6979f800bc4,0x5155312d99453be6,
  0x3598895f5aa4a467,0x5ba6db27fed96e76,0x56c6f5b0ba622bf8,0xd9accf1ff3a7c54e,0x688305bca645c8d9,
  0x5f86823ebc1c5b61,0x9afececa62e66f0f,0xefe895a8133c16b0,0xfabd88ea024713ce,0x482bd79e67fed1fb,
  0x311e47ea912b23ed,0xbeb15075ffd93f61,0xd7b89ac509e0bbc8,0xc9dce5a49db6b143,0x3f9b1807868eced8,
  0x669cce496daad149,0xbb86ca6505177746,0x9ed2c088b52064d6,0x7f230393c36b422d,0x8b0ba06517725900,
  0xa3f303f23b62fe68,0x01eabd9b3a230f6c,0x50c0c986101abd39,0xf7e64204c0f2b8c0,0x42959cfc1fe45d3e,
  0xda49c108a79b08af,0x3bd9776eed797d10,0x307e82b466f6f994,0x825c852d079fa2e4,0x57a04a1e032ef541,
  0xcbc778839e2e8a44,0x986bbfd804ca357a,0xf112b2f774121688,0xd627062f6d4d8333,0xf226fb3f5f4415a1,
  0x8da50cf2b779cf60,0x0143a2e7883f2f1c,0x7f3bdf232bd228f0,0x9513b5d1979f4279,0x6be9c00ac42cfa76,
  0xa488f182752f62a7,0xbfa827961f8dd3cc,0x638ba07cc03860a1,0xf2ab63ebf15679df,0xa270b60bee3456af,
  0xf821b530debc3685,0x414ba681ae103634,0x4b36ceeed115fc58,0xeda72c07bccdf340,0x5fb9c09ac6f08f57,
  0x882fdc814c5e87c3,0x5ce72ca3fe603b43,0x97165d676c945874,0x84fd1e59534c970b,0xb67504cbd1a67681,
  0xac640ec29daed448,0x8c5420ef0f47cc31,0xaae5696f5138e1f9,0x25efa596d1a03922,0x87f0d53a2fc2960a,
  0x063f6cf6c85fed5a,0xf66fc93ee782f90b,0x4ab8d1af617c48f7,0x216b3ba0098b9906,0x401e797ff09a05f2,
  0x1887ec6164a1f328,0xb419e8d7dea66a4d,0x7f6793359b2bdab8,0xb0e109a295d6ff2e,0xc8a7c3b2fc356c3c,
  0x11ea87ecd2aa561d,0x45aa14c063a6850d,0x54cc00de22fef233,0x9c1c9eb4fcf6f7d9,0xf54948ed3b64babf,
  0xd62c28e98e347534,0x4bc702f173cb42b9,0xf708cca791602c1a,0xf28a70b24c9d655b,0x345321397b43bab1,
  0xfbcfebc16998ed3f,0xf265189cb4844a8f,0x9a42556af1635500,0xb587a6dd8b609b56,0x6dd5a841a5b2c678,
  0x96b5776f72c326ac,0x09abec425fbf072d,0x47ff24eea7296b8b,0x8f834a4f2f8d5677,0x87fee8dc73d072f1,
  0x48b6eb9911ea9c61,0xcb4b00f7ce5a62cd,0xf2da0aa7f8bb1787,0x64e6315f21977a7d,0xe36f57f0a826f9f8,
  0x53eac1876bc591d7,0x664d3b18cbe465bd,0x21f1bd4b4f44f77b,0xe85597a89d3885b9,0xfa1494552297c272,
  0xc937111313374faa,0x391b0d1d6753e06a,0x3af073325eb80139,0x8bece2e600ccbb0e,0x83a451bb26613f18,
  0x5d112cda58e1f599,0xc34a0d4a8afad594,0xd1855acfb4c11c63,0x9a0fc78a9899a1e6,0x0681087574d41506,
  0x403ddf567d88068b,0x76a4fc49d6620490,0xfdeab5d547cce31e,0xd9e66c844807cb4f,0xd8e1eb58fe91422d,
  0x4f8ad8096e2a8505,0xddc37351de6a483e,0x3de396a19e065110,0xe42cb50ecc93f149,0x5ee9c7fce5d33b29,
  0xde2fdbdbd347d65e,0x1d80a1aae1187ef7,0x8bb682d6937892d5,0xf36c56dd441f4686,0x914057683209d77f,
  0x1727b9b1813c9882,0xb013aa50113c79a3,0x360110e0119a7fe1,0xba689e921016a2ea,0xcbad47cad333447d,
  0x32cdef051c27df48,0x122d261d44d0c95a,0x405110660b2b2358,0x43449938d56523ea,0x165f4821999f7e13,
  0x81bcb15fcb743798,0x436ddeb7c65de31a,0xdf132903594b51c5,0xf7eefe26b0348c37,0xe9733493c11fad48,
  0x73aed6e50b27154a,0xc87614255da94c95,0xe765f0b80651c3e8,0x9cb76b839e0cb455,0x3be75c1e1f203658,
  0x26fb84a4a3918c1c,0x26dc26748b4fdd3a,0xe6f93fd7bd25923f,0x53004ee479f195fb,0xb26d4f1e6978f8a7,
  0xd2e6d951880a6430,0xbd5786b8f8c39f3e,0x85b3d5aca4ab1dac,0x09cfe5210ec37960,0xa2c8302a19c4b37b,
  0x54913818e949d105,0x1cdd32e9ec4aaa27,0xac079d2c928bd22b,0xa939d52c880471ff,0x3e70e42dcc50e173,
  0xe19798ab9190c0be,0x46e454be9b3e41da,0x9f860219532ab59b,0x7e7f84a53d3fb042,0xdd9ad2cd3470c9c8,
  0xb2b0b98ddcbdaaf7,0x53a1f67baeab5b5b,0xbfaab5a5ce1fb309,0xd181da3ff2a0f342,0x5f60dc0047afa231,
  0x488f0df9cdba1a41,0xc69c045e785bbe4c,0xc66bc75a0cdc6e1a,0x47d003ba01f97e69,0xa59a49d370a35911,
  0x2d0936ea18324bba,0xd65ef2c31c52ffc0,0x6d0d51d2cc55fd93,0xfa6d4cee111a70f0,0x21379cb8732a14ec,
  0x252e6a40803b698a,0xdf4c5603a8667d92,0x36d1c9914a3837bc,0x63c2929e0dec94af,0x48c35692fb8d4c3e,
  0x5aabe0a13d77501b,0x790968970590bc17,0x94b61ca0348d0b33,0x0e96ab5c8b342cd4,0x5babf20cae7f5c2e,
  0xdcbddafc539cd351,0x5ea47416afb55b90,0xcb5c8516f770410b,0x32b7833bee9a7520,0x9a7c2f16e41751bb,
  0x3412958f5c04f766,0x84bf7cee01324cd7,0x6523e9e7e7365f92,0xe19bd05fe800b409,0x88009b053a33b78e,
  0x464ef4e97c3695e3,0x32adf8d9a0cefeeb,0x00c14f099fbddc17,0xaa18db222d8fd76d,0x181387d3550c63b2,
  0xf114ef971d048c12,0xf2462a13094fc893,0x35a63d46df94c9d1,0xa18f91c7bffd9d9b,0x8ca346e092d78507,
  0xf6d5dd588d5de488,0xec3b440a7e4e89a0,0x200d1f26d27f10cc,0x08cbb694e5f6a9b3,0xba81767494b94728,
  0x509d147caf61ac9b,0x912daed4fe301c63,0xd8520d99800a055e,0x2a9b0c0482a352cd,0xd103485239b1f2a0,
  0xc4bccd259f92a82f,0x09b91035ff11ae2b,0x3243e4ae122af173,0x3c5751a5f90bf9ff,0x4fde1aaf539c5f02,
  0xf26e70fcbed118df,0x71e99009ff3cb155,0x1d0633e02d362088,0xff34126e2172a9ba
};
**/

/* This hash function suffers from bad quality when using a bad seed. Here are some
   of them listed, but only a few of all upper 2^32 ranges. The probablity seems to be
   below 0.00001% though. */
/* Many uncomputable more! I don't see the bit-pattern yet, need to invert it eventually. */
const uint64_t some_bad_seeds[] = {
  // first lowest 2^32 range
  0x6fd03e4,  0x8749054,  0xb17422d,  0xbf1aff7,  0x1927cb4f, 0x2228a261,
  0x28436920, 0x28d31e38, 0x2e9c3316, 0x310cb62c, 0x3431e80b, 0x348c37b8,
  0x36d5b3ee, 0x39896fb5, 0x3a155bd3, 0x3bfdbc41, 0x3d07ff95, 0x43fcb9df,
  0x48201e9d, 0x4de9e8b4, 0x5352a40e, 0x54a3aed2, 0x55f928c3, 0x58c4ae94,
  0x5f8b8dc6, 0x5fd0ddbf, 0x65e4b06f, 0x6c446186, 0x73bc5462, 0x77e96502,
  0x7b59d0e1, 0x817843c0, 0x832c6e76, 0x8339436d, 0x83d3836b, 0x87fa8286,
  0x8cb6c554, 0x9473e0b5, 0x94e9937b, 0x959db0f6, 0x9d97be34, 0xa027b813,
  0xa3ec6b18, 0xa74fd5fe, 0xaa4ff8cf, 0xaa82a095, 0xada4c9ff, 0xae750d45,
  0xb2cf1b7e, 0xb822336b, 0xb934a433, 0xb93b1e20, 0xba6ea5dd,
  // missing all other upper 32bit ranges here...
  // last upper 2^32 range
  0xffffffff027ea452, 0xffffffff04506df8, 0xffffffff059491b4, 0xffffffff0ae153aa,
  0xffffffff0c581e21, 0xffffffff178ed4db, 0xffffffff1b4554e0, 0xffffffff20ed031e,
  0xffffffff25243d7c, 0xffffffff25d3f9f9, 0xffffffff29e0c974, 0xffffffff2c72bf5b,
  0xffffffff2d6e7317, 0xffffffff2dc6e4b1, 0xffffffff2e4661be, 0xffffffff39191879,
  0xffffffff3f6a8c22, 0xffffffff4273e668, 0xffffffff42957d46, 0xffffffff49224386,
  0xffffffff4a37ba60, 0xffffffff4d204406, 0xffffffff52b1ae6e, 0xffffffff56daedb8,
  0xffffffff5788c151, 0xffffffff58c416bf, 0xffffffff58ca0121, 0xffffffff5d72b12e,
  0xffffffff5edacdac, 0xffffffff5fd907f3, 0xffffffff657a7d41, 0xffffffff678e0581,
  0xffffffff6d32feb6, 0xffffffff6e2a4160, 0xffffffff6f19f221, 0xffffffff77f2b247,
  0xffffffff793f66b7, 0xffffffff79db63ec, 0xffffffff7ab26022, 0xffffffff7d87a1be,
  0xffffffff7e7de397, 0xffffffff83e3ca0b, 0xffffffff84c532bf, 0xffffffff88327c1f,
  0xffffffff890ffd43, 0xffffffff8de7b7b1, 0xffffffff92dad0f1, 0xffffffff930db83a,
  0xffffffff9a357352, 0xffffffff9fa14291, 0xffffffffa5a1fd23, 0xffffffffa71641e2,
  0xffffffffade1bca8, 0xffffffffae57efb3, 0xffffffffb4a0ceb2, 0xffffffffb5d7aeb8,
  0xffffffffba6d105f, 0xffffffffba8b3d4b, 0xffffffffbd287832 };

#  if defined(_MSC_VER) && (_MSC_VER < 1600)

typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;

// Other compilers

#else // defined(_MSC_VER)

#include <stdint.h>

#endif // !defined(_MSC_VER)

void beamsplitter_64          ( const void * key, int len, uint32_t seed, void * out );

#endif // _BEAMSPLITTER_H_

